Re: [RFC] sched_tick with interrupts enabled
From: Siddha, Suresh B
Date: Wed Oct 18 2006 - 22:47:42 EST
On Wed, Oct 18, 2006 at 02:59:07PM -0700, Christoph Lameter wrote:
> load_balancing has the potential of running for some time if f.e.
> sched_domains for a system with 1024 processors have to be balanced.
> We currently do all of that with interrupts disabled. So we may be unable
> to service interrupts for some time. Most of that time is potentially
> spend in rebalance_tick.
Did you see an issue because of this or just theoretical?
> +static void rebalance_tick(unsigned long dummy)
> {
> + int this_cpu = smp_processor_id();
> + struct rq *this_rq = cpu_rq(this_cpu);
> + enum idle_type idle;
> unsigned long this_load, interval, j = cpu_offset(this_cpu);
> struct sched_domain *sd;
> int i, scale;
>
> + idle = (current == this_rq->idle) ? SCHED_IDLE : NOT_IDLE;
We need to add nr_running check too, to determine if we want to do
idle/not-idle balancing. This is in the context of wake_priority_sleeper()
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/