Hubertus,
'Hopefully' the multi-queue scheduler will be in the ballpark for
low number of threads. However, remember the extra overhead being
incurred in the current implementation. To maintain existing
scheduler behavior, we look at all CPU specific runqueues to find
the highest priority (goodness) task in the system. Therefore,
when running with a single thread on an 8 processor system, we
examine 8 runqueues instead of the single global runqueue. In
a test where tasks are simply spinning doing sched_yield()s, I
suspect this difference may be significant.
I'll run the IIRC benchmark with low thread counts, and post the
results. In adition, I have some ideas on how to make intelligent
decisions to avoid examining all runqueueus when the number of
running tasks is less than the number of processors.
-- Mike Kravetz mkravetz@sequent.com IBM Linux Technology Center - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/