 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Only include online cpus in cpu_mask_to_apicid_flat
 >>> 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()).
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.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |