[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 |