vfs: add cond_resched_lock while scanning dentry LRU lists
PATCH RESEND 2/2 vfs: add cond_resched_lock while scanning dentry LRU lists
o add cond_resched_lock(&dcache_lock) while scanning LRU lists on superblocks in __shrink_dcache_sb()
--- fs/dcache.c | 1 + 1 files changed, 1 insertion(+)
fs/dcache.c +1 -0
@@ -484,6 +484,7 @@ restart:if (--cnt ==0 )break ; } +cond_resched_lock (&dcache_lock); } }while (!list_empty (&tmp)) {
Quoted 13 lines · On Tue, 24 Jun 2008 10:45:23 +0900 Kentaro Makita…
o add
cond_resched_lock(&dcache_lock)while scanning LRU lists on superblocks in__shrink_dcache_sb()Signed-off-by Kentaro Makita <[email protected]>--- fs/dcache.c | 1 + 1 files changed, 1 insertion(+)Index:
b/fs/dcache.c
===================================================================
fs/dcache.c restart: · line 490
Quoted 7 lines
fs/dcache.c +1
-0@@ -484,6 +484,7 @@ restart:if (--cnt ==0 )break ; } +cond_resched_lock (&dcache_lock); } }while (!list_empty (&tmp)) {
The changelog is insufficient. It tells us what the patch did (which was completely obvious anyway) but it fails to tell us _why_ the patch did it.
That is is easily guessable but a good changelog would have described the problem which you observed and would have described how the the patch changed the runtime behaviour.
And this is not a trivial formality either. Because if, for example, the problem whcih you are fixing here is "machine goes comatose for ten minutes" then we'll need algorithmic changes and not a bandaid of this nature.