Re: CPU Loading

From: Mike Galbraith
Date: Fri Oct 27 2006 - 02:55:27 EST


On Thu, 2006-10-26 at 22:37 -0700, Indian Mogul wrote:

> How can I load the CPU such that the scheduling time
> slice is insuffucent for mplayer to playout the video?
> To the mplayer the system thus appears "slow" ?

:) unusual request.

The proglet below, which someone posted a while back, should meet your
needs nicely. Fire up a few copies in the background with args like
5000 6000 7000 8000 9000.., and mplayer should become decidedly unhappy.

The scheduler round robin schedules tasks which it has classified as
interactive (tasks which sleep somewhat regularly basically) at a higher
rate than their timeslice to reduce latency, but the more tasks
circulating at the same priority (or above) as mplayer, the bigger the
latency hit mplayer will take.

-Mike

#include <stdlib.h>
#include <unistd.h>

static void burn_cpu(unsigned int x)
{
static char buf[1024];
int i;

for (i=0; i < x; ++i)
buf[i%sizeof(buf)] = (x-i)*3;
}

int main(int argc, char **argv)
{
unsigned long burn;
if (argc != 2)
return 1;
burn = (unsigned long)atoi(argv[1]);
while(1) {
burn_cpu(burn*1000);
usleep(1);
}
return 0;
}


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/