Messages in this thread | | | Date | Wed, 18 Oct 2006 19:19:00 -0700 | From | "Siddha, Suresh B" <> | Subject | Re: [RFC] sched_tick with interrupts enabled |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |