Messages in this thread | | | From | David Howells <> | Subject | Re: [rfc] lock bitops | Date | Tue, 08 May 2007 13:22:56 +0100 |
| |
Nick Piggin <npiggin@suse.de> wrote:
> This patch (along with the subsequent one to optimise unlock_page) reduces > the overhead of lock_page/unlock_page (measured with page faults and a patch > to lock the page in the fault handler) by about 425 cycles on my 2-way G5.
Seems reasonable, though test_and_set_lock_bit() might be a better name.
> +There are two special bitops with lock barrier semantics (acquire/release, > +same as spinlocks).
You should update Documentation/memory-barriers.txt also.
> #define TestSetPageLocked(page) \ > test_and_set_bit(PG_locked, &(page)->flags) > +#define TestSetPageLocked_Lock(page) \ > + test_and_set_bit_lock(PG_locked, &(page)->flags)
Can we get away with just moving TestSetPageLocked() to the new function rather than adding another accessor? Or how about LockPageLocked() and UnlockPageLocked() rather than SetPageLocked_Lock() that last looks wrong somehow.
The FRV changes look reasonable, btw.
David
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |