Date: Fri, 18 Dec 1998 07:21:57 -0800 (PST)
   From: Linus Torvalds <[EMAIL PROTECTED]>

   No they don't. Read the sources.

   The idle loop calls "hlt", which waits for an interrupt.

Interrupts do not mean useful work is ready for the idler to do.
Often this is the case, yes, but sometimes definately no.

And if the IO_APIC is doing it's job about dynamic IRQ routing, this
is even a larger concern on SMP.  (hint: idlers are good interrupt
concentration points at certain points in time... I've done many
experiments lately with dynamically pushing the interrupt workload to
idlers on sparc64/SMP and it works wonders if you do the idler
correctly)

The idea of turning idlers, when appropriate, into interrupt "workers"
turns out to be a very powerful concept.

Two more cases to consider:

1) A block device which takes 5 or 6 (some cluster) interrupts to
   fulfill a given request (which will wake up a blocked task).

2) NFS with > MTU sized reads...

On the x86/SMP in 2.1.x it just feels "fat", and I know this is one of
the reasons why.  It doesn't feel "fat" on sparc64 even with 14 cpus
in the box.

Later,
David S. Miller
[EMAIL PROTECTED]
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]

Reply via email to