[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen: fix for_each_cpu when NR_CPUS=1
Dario Faggioli writes ("[PATCH] xen: fix for_each_cpu when NR_CPUS=1"): > When running an hypervisor build with NR_CPUS=1 for_each_cpu does not > take into account whether the bit of the CPU is set or not in the > provided mask. > > This means that whatever we have in the bodies of these loops is always > done once, even if the mask was empty and it should never be done. This > is clearly a bug and was in fact causing an assert to trigger in credit2 > code. > > Removing the special casing of NR_CPUS == 1 makes things work again. Release-Acked-by: Ian Jackson <iwj@xxxxxxxxxxxxxx> > I'm not really sure whether this should be 4.15 material. > > It's definitely a bug, IMO. The risk is also pretty low, considering > that no one should really run Xen in this configuration (NR_CPUS=1, I > mean). Which is also the reason why it's probably not really important > that we fix it at this point of the release cycle. Given that it clearly only affects NR_CPUS==1, I think the risk/reward tradeoff is unambiguously positive. > -#if NR_CPUS > 1 > #define for_each_cpu(cpu, mask) \ > for ((cpu) = cpumask_first(mask); \ Just a thought: does cpumask_first work on an empty mask ? Ian.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |