busy looping in kernel, time question
Dave Martindale
dave at onfcanim.UUCP
Fri Apr 18 03:32:11 AEST 1986
In article <234 at Shasta.ARPA> alex at lancelot writes:
>
> Assume I want to busy loop in the kernel for 100 milliseconds, how
>many times (approx) should I go around a loop which increments an int?
>
Do you *really* want to lock up the processor for that long? sleep/wakeup
would make much better use of the processor.
But if your really want a busy loop, you realize that this depends on
what processor you are running on, which you didn't mention? A Cray-2
and an 8088 can both run UNIX, but there is a fair difference in the number
of instructions they execute in 100 ms.
Tell you what. Why not write a program like this:
main(argc, argv)
char **argv;
{
long i, limit, atol();
limit = atol(argv[1]);
for (i = 0; i < limit; i++)
;
}
Then run it until you find a value of the argument that gives an execution
time of 10 seconds. Divide that number by 100, and you will know how many
times to go around a loop to get 100 milliseconds pretty accurately.
Seriously, wouldn't it have made more sense to just write the test program
and have your answer in 3 minutes, rather than posting an article that
several thousand people would read, particularly since they can't answer it
from the information given?
USENET is a wonderful resource for obtaining hard-to-find information.
I hate to see its effectiveness damaged by people using it as a crutch.
Dave Martindale
More information about the Comp.unix.wizards
mailing list