Re: [patch 1/2] sched: fix idle load balancing in softirqd context

From: Siddha, Suresh B
Date: Wed Feb 21 2007 - 02:00:43 EST


On Sat, Feb 17, 2007 at 09:42:16AM -0500, Steven Rostedt wrote:
> On Fri, 16 Feb 2007, Siddha, Suresh B wrote:
> > - int cpu = smp_processor_id();
> > + int cpu = smp_processor_id(), idle_at_tick = idle_cpu(cpu);
> > struct rq *rq = cpu_rq(cpu);
> >
>
> But I would recommend that the idle_at_tick should be on a separate line.

Ok.

> I'll try to look deeper at your patches tomorrow. I've also found that I'm
> having some latency problems in -rt that I think might be related to
> migration.

There is one more issue, I have observed in -rt tree.

raise_softirq_irqoff() is unconditionally doing the wakeup_softirqd()
But unless the CONFIG_PREEMPT_SOFTIRQS is configured, do_softirq()
will process the softirq's like TIMER_SOFTIRQ and SCHED_SOFTIRQ in the
process context. So it looks like we are unnecessarily waking the
softirqd's corresponding to those softirq's.

thanks,
suresh
-
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/