On Thu, 2015-03-12 at 16:21 +0000, Jan Beulich wrote:
> >>> On 12.03.15 at 15:57, <uma.sharma...@gmail.com> wrote:

> > @@ -1940,10 +1946,14 @@ static void init_pcpu(const struct scheduler *ops, 
> > int cpu)
> >  
> >      /* Figure out which runqueue to put it in */
> >      /* NB: cpu 0 doesn't get a STARTING callback, so we hard-code it to 
> > runqueue 0. */
> > -    if ( cpu == 0 )
> > -        rqi = 0;
> > +    if ( opt_credit2_runqueue == CREDIT2_OPT_RUNQUEUE_SOCKET )
> > +    {
> > +        rqi = (cpu) ? cpu_to_socket(cpu) : boot_cpu_to_socket();
> > +    }
> >      else
> > -        rqi = cpu_to_socket(cpu);
> > +    {
> > +        rqi = (cpu) ? cpu_to_core(cpu) : boot_cpu_to_core();
> > +    }
> 
> Rather than extending the bad assumption of CPU 0 being the boot
> CPU (What if it gets offlined and this or another one onlined back
> as CPU 0?), can't you find a way to avoid depending on the numeric
> value of "cpu"?
> 
BTW, while we're here, can we really offline CPU#0? I haven't played
much with CPU on/offlining, so sorry if I'm asking something obvious...
But I found this, which looks to be working:

http://lxr.free-electrons.com/source/Documentation/ABI/testing/sysfs-devices-system-xen_cpu

Which explicitly says "except cpu0 due to several logic restrictions and
assumptions."

Note that I'm not asking because I think we shouldn't try to make this
more abstract, I'm much rather looking for a way to test the case of the
boot cpu being offlined. :-)

Thanks and Regards,
Dario

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to