]> err.no Git - linux-2.6/commit
[PATCH] find_lock_page(): call __lock_page() directly.
authorNikita Danilov <nikita@clusterfs.com>
Fri, 6 Jan 2006 08:11:08 +0000 (00:11 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:33:26 +0000 (08:33 -0800)
commitbbfbb7cec9dd7266534b2b4b9c8be2fa425bbfc9
treed1949123224d1674a7192743d188ff652c964663
parenta226f6c899799fe2c4919daa0767ac579c88f7bd
[PATCH] find_lock_page(): call __lock_page() directly.

As find_lock_page() already checks with TestSetPageLocked() that page is
locked, there is no need to call lock_page() that will try-lock page again
(chances of page being unlocked in between are small).  Call __lock_page()
directly, this saves one atomic operation.

Also, mark truncate-while-slept path as unlikely while we are here.

(akpm: ug.  But this is actually a common path for normal old read()s against
a page which is under readahead I/O so ho-hum.)

Signed-off-by: Nikita Danilov <danilov@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/filemap.c