Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 25 Mar 2011 09:29:34 -0700 | Subject | Re: [PATCH RFC] x86: avoid atomic operation in test_and_set_bit_lock if possible |
| |
On Fri, Mar 25, 2011 at 3:06 AM, Jan Beulich <JBeulich@novell.com> wrote: > > The problem was observed with __lock_page() (in a variant not > upstream for reasons not known to me), and prefixing e.g. > trylock_page() with an extra PageLocked() check yielded the > below quoted improvements.
Ok. __lock_page() _definitely_ should do the test_bit() thing first, because it's normally called from lock_page() that has already tested the bit.
But it already seems to do that, so I'm wondering what your variant is.
I'm also a bit surprised that lock_page() is that hot (unless your _lock_page() variant is simply too broken and ends up spinning?). Maybe we have some path that takes the page lock unnecessarily? What's the load?
Linus
| |