Messages in this thread | | | Date | Wed, 18 Jun 2008 17:37:27 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 1 of 4] mm: add a ptep_modify_prot transaction abstraction |
| |
Linus Torvalds wrote: > On Wed, 18 Jun 2008, Jeremy Fitzhardinge wrote: > >> Along the lines of: >> > > Hell no. There's a reason we have a special set_wrprotect() thing. We can > do it more efficiently on native hardware by just clearing the bit > atomically. No need to do the cmpxchg games. >
It's not cmpxchg, just xchg.
In other words, is:
lock btr $_PAGE_BIT_RW, (%rbx)
much cheaper than
mov $0, %rax xchg %rax, (%rbx) and $~_PAGE_RW, %rax mov %rax, (%rbx)
?
It's the same number of locked RMW operations, so aside from being a few instructions longer, I think it would be much the same.
I guess the correct answer is "lmbench".
J
| |