Re: [PATCH] softirq: punt to ksoftirqd if __do_softirq recently looped

From: David Miller
Date: Fri Apr 11 2014 - 16:33:53 EST


From: Rik van Riel <riel@xxxxxxxxxx>
Date: Thu, 10 Apr 2014 11:57:06 -0400

> @@ -330,7 +334,11 @@ void irq_enter(void)
>
> static inline void invoke_softirq(void)
> {
> - if (!force_irqthreads) {
> + /*
> + * If force_irqthreads is set, or if we looped in __do_softirq this
> + * jiffie, punt to ksoftirqd to prevent userland starvation.
> + */
> + if (!force_irqthreads && this_cpu_read(softirq_looped) != jiffies) {

If we do this, which I'm not convinced of yet, I think we should use two
jiffies as the cutoff.

Because if we are at the tail end of one jiffie we'll prematurely go to
ksoftirqd when we really have no reason to do so.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/