|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/3] xen/sched: populate cpupool0 only after all cpus are up
On Wed, 2019-08-14 at 17:15 +0100, George Dunlap wrote:
> On Fri, Aug 2, 2019 at 2:08 PM Juergen Gross <jgross@xxxxxxxx> wrote:
> > --- a/xen/common/cpupool.c
> > +++ b/xen/common/cpupool.c
> > @@ -762,18 +762,28 @@ static struct notifier_block cpu_nfb = {
> > .notifier_call = cpu_callback
> > };
> >
> > -static int __init cpupool_presmp_init(void)
> > +static int __init cpupool_init(void)
> > {
> > + unsigned int cpu;
> > int err;
> > - void *cpu = (void *)(long)smp_processor_id();
> > +
> > cpupool0 = cpupool_create(0, 0, &err);
> > BUG_ON(cpupool0 == NULL);
> > cpupool_put(cpupool0);
> > - cpu_callback(&cpu_nfb, CPU_ONLINE, cpu);
> > register_cpu_notifier(&cpu_nfb);
> > +
> > + spin_lock(&cpupool_lock);
> > +
> > + cpumask_copy(&cpupool_free_cpus, &cpu_online_map);
> > +
> > + for_each_cpu ( cpu, &cpupool_free_cpus )
> > + cpupool_assign_cpu_locked(cpupool0, cpu);
> > +
> > + spin_unlock(&cpupool_lock);
>
> Just to make sure I understand what's happening here --
> cpu_callback()
> now won't get called with CPU_ONLINE early in the boot process; but
> it
> will still be called with CPU_ONLINE in other circumstances (e.g.,
> hot-plug / suspend / whatever)?
>
Exactly.
It is not used for resume (from suspend) any longer, since commit
6870ea9d1fad ("xen/cpupool: simplify suspend/resume handling).
But it is used for putting the various CPUs in Pool-0, as they come-up,
during boot.
This patch remove the "hack" of calling it directly, during cpupool
initialization, for the BSP.
> Sorry that's an overly-basic question; I don't have a good picture
> for
> the cpu state machine.
>
Well, I used to... I tried to quickly double check things, and what I
said above should be still valid, even after the latest changes (or so
I hope :-) ).
Regards
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)
Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |