Re: [patch] softirq performance fixes, cleanups, 2.4.10.

From: Ingo Molnar (mingo@elte.hu)
Date: Fri Sep 28 2001 - 02:34:52 EST


On Fri, 28 Sep 2001, Andrea Arcangeli wrote:

> I'm just curious, what are the numbers of your A7 patch compared with
> this one?

well, a quick glance shows that this is mostly the -A7 patch with the
single-loop omitted, right? I tested it before (the unwakeup mechanizm is
orthogonal to the looping concept), and while unwakeup alone helps
somewhat, its effect cannot be compared to the effects of looping. Please
check my previous mail for details, i tried a large set of other
combinations as well.

frankly, i dont understand what your problem is with the looping concept.
It's actually simpler than the mask-bitmap version, and it ensures
finegrained handling and low latencies of softirq handlers. We loop in the
softirq handlers themselves already. Ideally we'd like to loop until all
work is done - but we exit on some limits, and it's generally a good idea
to not let the handlers themselves loop for a too long time. (to get good
scheduling latencies.) And we can increase/decrease MAX_SOFTIRQ_RESTART if
it's ever shown to be excessive/insufficient. (We could even runtime tune
it - but i thought that to be an overdesigning of a nonexisting problem.)

(i had an interim version of the patch which had a sysctl-tunable
MAX_SOFTIRQ_RESTART - this is where the value of '10' comes from. A value
of '1' means a single-loop. Just to make sure i also tested the 'mask'
version which is a bit more than just a single loop in the current patch -
but for tx/rx purposes it's almost equivalent to a single loop.)

        Ingo

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



This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:01:00 EST