Messages in this thread | | | Date | Wed, 18 Jun 2008 17:49:51 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 1 of 4] mm: add a ptep_modify_prot transaction abstraction |
| |
On Wed, 18 Jun 2008, Jeremy Fitzhardinge wrote: > > It's not cmpxchg, just xchg. > In other words, is: > > lock btr $_PAGE_BIT_RW, (%rbx)
Well, we can actually do it as
lock andl $~_PAGE_RW,(%rbx)
although we haven't bothered (I've wanted several times to make clear_bit() do that, but have never gotten around to it - mainly because old gcc versions didn't work with __builtin_constant_p() in inline functions - so you have to do the macro from hell)
And yes, the "lock andl" should be noticeably faster than the xchgl.
Linus
| |