Peter Zijlstra <a.p.zijlstra <at> chello.nl> writes:
You have to give credit to Solaris for doing that first :). They implemented
usleep() using nanosleep() which uses the kernel callout queue. That queue is
single threaded and only processed on CPU0 in the clock interrupt handler,
causing CPU0 to spin 100% if enough calls to usleep() are made across the system.
http://bugs.opensolaris.org/view_bug.do?bug_id=6565503
-Andrew
--