[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] [PATCH 3/3] Disable ARB_DIS conditionally
Added spinlock just as you suggested. Resend it. Jimmy On Wednesday, September 03, 2008 6:40 PM, Keir Fraser wrote: > On 3/9/08 11:21, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote: > >> CPU0: -------------judge then clear >> ARB_DIS----------------------------------dec count >> CPU1: inc count-------------------------------------judge then set ARB_DIS > > Yes, that's a more likely race. > >> Sync via spinlock is good suggest, I need to do some testing to make sure >> spinlock will not bring larger-than-saved overheads. > > Actually I think it'll be okay. Place the lock next to the c3_cpu_count (so > they share a cacheline). Something like: > > struct { > spinlock_t lock; > unsigned int count; > } c3_cpu_status; > > Then: > * Currently: Exclusive access to one cache line + one LOCK prefix > * With lock: Exactly the same (since c3_cpu_count no longer needs to be an > atomic_t, and spin_unlock() is also not a LOCKed instruction). > > But yes, you should test just be to be really sure. > > -- Keir Attachment:
disable-ARB_DIS-conditionally-0903.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |