On Thu, Jul 26, 2012 at 05:55:09PM +0300, Avi Kivity wrote:
On 07/26/2012 05:16 PM, Eduardo Habkost wrote:
It's possible to replace the atomic read of CountCPUs with the bitmap weight calculation on the loop, but: is it really worth it?
Why not? This eliminates one more global state.
Maybe we can simply make it stop being global and be used only by the smp.c initialization code?
Even if the variable didn't exist yet, I think I would add it myself: it's simpler and more efficient to calculate the bitmap weight once, while filling the bitmap, than recalculating it every time on the while(cmos_smp_count) loop.
So you're spinning more efficiently?
No, coding more efficiently. I'm lazy. :-)
I don't want to risk breaking that part of the code to save 2 bytes of memory. It's possible to impement it reliably, yes, but it's also very easy to introduce a subtle bug, so why touch something that works perfectly just to save 2 bytes?