[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080311013456.GD15909@linux-os.sc.intel.com>
Date: Mon, 10 Mar 2008 18:34:56 -0700
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Gregory Haskins <ghaskins@...ell.com>, suresh.b.siddha@...el.com,
ego@...ibm.com, rjw@...k.pl, dmitry.adamushko@...il.com,
mingo@...e.hu, oleg@...n.ru, yi.y.yang@...el.com,
linux-kernel@...r.kernel.org, tglx@...utronix.de
Subject: Re: [PATCH v2] keep rd->online and cpu_online_map in sync
On Mon, Mar 10, 2008 at 04:36:13PM -0700, Andrew Morton wrote:
> > --- a/kernel/sched.c
> > +++ b/kernel/sched.c
> > @@ -5881,7 +5881,8 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
> > spin_unlock_irq(&rq->lock);
> > break;
> >
> > - case CPU_DOWN_PREPARE:
> > + case CPU_DYING:
> > + case CPU_DYING_FROZEN:
> > /* Update our root-domain */
> > rq = cpu_rq(cpu);
> > spin_lock_irqsave(&rq->lock, flags);
>
> Does this make
> cpu-hotplug-register-update_sched_domains-notifier-with-higher-prio.patch
> (below) obsolete,
Yes. I would like to Ack for the
keep-rd-online-and-cpu_online_map-in-sync.patch, as it is more cleaner.
> or do we want both?
No. I don't think so. Gautham, do you agree?
thanks,
suresh
>
> --- a/kernel/sched.c~cpu-hotplug-register-update_sched_domains-notifier-with-higher-prio
> +++ a/kernel/sched.c
> @@ -7096,8 +7096,16 @@ void __init sched_init_smp(void)
> if (cpus_empty(non_isolated_cpus))
> cpu_set(smp_processor_id(), non_isolated_cpus);
> put_online_cpus();
> - /* XXX: Theoretical race here - CPU may be hotplugged now */
> - hotcpu_notifier(update_sched_domains, 0);
> + /*
> + * XXX: Theoretical race here - CPU may be hotplugged now
> + *
> + * We register the notifier with priority 11, which means that
> + * update_sched_domains() will be called just before migration_call().
> + *
> + * This is necessary to ensure that the rt wake up logic works fine
> + * and the rq->rd->online_map remains in sync with the cpu_online_map.
> + */
> + hotcpu_notifier(update_sched_domains, 11);
>
> /* Move init over to a non-isolated CPU */
> if (set_cpus_allowed(current, non_isolated_cpus) < 0)
> _
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists