On Wednesday 01 September 2010 17:14:52 Jan Beulich wrote:
> >>> On 01.09.10 at 05:39, "Yang, Sheng" <sheng.yang@xxxxxxxxx> wrote:
> > Yes, here is the patch with modification of other variants.
>
> If indeed an adjustment like this is needed, then this (and other similar
> instances)
>
> >@@ -71,6 +72,11 @@
> >
> > unsigned int cpu_mask_to_apicid_phys(cpumask_t cpumask)
> > {
> >
> >+ int cpu;
> >
> > /* As we are using single CPU as destination, pick only one CPU here */
> >
> >- return cpu_physical_id(first_cpu(cpumask));
> >+ for_each_cpu_mask(cpu, cpumask) {
> >+ if (cpu_online(cpu))
> >+ break;
> >+ }
> >+ return cpu_physical_id(cpu);
> >
> > }
>
> is both insufficient: You need to handle the case where you don't
> find any online CPU in the mask (at least by adding a respective
> BUG_ON()).
Yes, BUG_ON() is needed.
>
> But I tend to agree with Keir that this shouldn't be done here -
> these functions are simple accessors, which shouldn't enforce
> any policy. Higher level code, if it doesn't already, should be
> adjusted to never allow offline CPUs to slip through.
Well, I think it's acceptable to add a wrap function for it. So how about this
one?
--
regards
Yang, Sheng
>
> Jan
dest_fix.patch
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|