Re: RCU question

From: George Anzinger
Date: Fri Dec 10 2004 - 16:04:31 EST


Lee Revell wrote:
On Sat, 2004-12-11 at 02:10 +0530, Dipankar Sarma wrote:

On Fri, Dec 10, 2004 at 11:42:55AM -0800, George Anzinger wrote:

Dipankar Sarma wrote:

And yes, RCU processing in softirq context can re-raise the softirq.
AFAICS, it is perfectly normal.

My assumption was that, this being the idle task, RCU would be more than happy to finish all its pending tasks.

We try to avoid really long running softirqs (RCU tasklet in this case)
for better scheduling latency. A long running rcu tasklet during
an idle cpu may delay running of an RT process that becomes runnable
during the rcu tasklet.



Well, softirqs should really be preemptible if you care about RT task
latency. Ingo's patches have had this for months. Works great. Maybe
it's time to push it upstream.

Yes, I understand, and soft_irq() does turn on interrupts...
I was thinking of something like:

while(softirq_pending()) {
local_irq_enable();
do_softirq();
local_irq_disable();
}

<proceed to idle hlt...>
--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/

-
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/