Messages in this thread |  | | | Subject | Re: [patch 2/2] x86,pat Convert memtype_lock into an rw_lock. | | From | Peter Zijlstra <> | | Date | Wed, 24 Mar 2010 17:36:59 +0100 |
| |
On Wed, 2010-03-24 at 09:12 -0700, Suresh Siddha wrote: > On Wed, 2010-03-24 at 04:32 -0700, Peter Zijlstra wrote: > > On Wed, 2010-03-17 at 16:19 -0800, Suresh Siddha wrote: > > > On Wed, 2010-03-17 at 12:51 -0700, H. Peter Anvin wrote: > > > > Well, as you know :) tglx and I are on the road ... I'll try to get to it on Friday before I take off again. > > > > > > Also I talked to Thomas about this rwlock conversion and he referred to > > > RT issues with rwlock. And the best is to avoid this using RCU. > > > > Its not just RT, even for mainline rwlock_t is a massive pain and often > > is no better (actually worse) than a spinlock due to the massive > > cacheline bouncing it introduces. > > Don't we have the same cacheline bouncing issues with the ticket > spinlocks?
Sure, but the rwlock_t is unfair and can degrade into much worse performance than the spinlock.
Thing is, rwlock_t needs to write to the cacheline for each read acquire, so unless the hold time is much-much longer than the cacheline bounce time, its just not worth it, but since its a rwlock_t it should be have short hold time, hence its a useless construct :-)
|  |