projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5059aa6
)
mm: fix shrink nr.unqueued_dirty counter issue
author
Zhiguo Jiang
<justinjiang@vivo.com>
Fri, 12 Jan 2024 01:23:52 +0000
(09:23 +0800)
committer
Andrew Morton
<akpm@linux-foundation.org>
Wed, 6 Nov 2024 00:56:24 +0000
(16:56 -0800)
It is needed to ensure sc->nr.unqueued_dirty > 0, which can avoid setting
PGDAT_DIRTY flag when sc->nr.unqueued_dirty and sc->nr.file_taken are both
zero.
Link:
https://lkml.kernel.org/r/20240112012353.1387-1-justinjiang@vivo.com
Signed-off-by: Zhiguo Jiang <justinjiang@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmscan.c
patch
|
blob
|
blame
|
history
diff --git
a/mm/vmscan.c
b/mm/vmscan.c
index 28ba2b06fc7dc25c2b34402ba9c7128607dc8506..20dd72c98813d20f3f268140bc173a0c7b42eb7d 100644
(file)
--- a/
mm/vmscan.c
+++ b/
mm/vmscan.c
@@
-5990,7
+5990,8
@@
again:
set_bit(PGDAT_WRITEBACK, &pgdat->flags);
/* Allow kswapd to start writing pages during reclaim.*/
- if (sc->nr.unqueued_dirty == sc->nr.file_taken)
+ if (sc->nr.unqueued_dirty &&
+ sc->nr.unqueued_dirty == sc->nr.file_taken)
set_bit(PGDAT_DIRTY, &pgdat->flags);
/*