[PATCH] reduce lock contention in do_pagecache_readahead
authorAndrew Morton <akpm@zip.com.au>
Sun, 19 May 2002 09:20:34 +0000 (02:20 -0700)
committerArnaldo Carvalho de Melo <acme@conectiva.com.br>
Sun, 19 May 2002 09:20:34 +0000 (02:20 -0700)
commitcd016d8062823ffa46adb7ae329bf0f6cb4e4466
tree08066596da84154fe9bdbf82d7353daa411ab0c8
parentf5737b712f7e298213ea8bd03625e5b8c6b2e9fc
[PATCH] reduce lock contention in do_pagecache_readahead

Anton Blanchard has a workload (the SDET benchmark) which is showing some
moderate lock contention in do_pagecache_readahead().

Seems that SDET has many threads performing seeky reads against a
cached file.  The average number of pagecache probes in a single
do_pagecache_readahead() is six, which seems reasonable.

The patch (from Anton) flips the locking around to optimise for the
fast case (page was present).  So the kernel takes the lock less often,
and does more work once it has been acquired.
mm/readahead.c