[PATCH 1/1][SRU][X] bcache: add cond_resched() in __bch_cache_cmp()

Heitor Alves de Siqueira halves at canonical.com
Thu Oct 10 20:19:40 UTC 2019


From: Shile Zhang <shile.zhang at linux.alibaba.com>

BugLink: https://bugs.launchpad.net/bugs/1840043

Read /sys/fs/bcache/<uuid>/cacheN/priority_stats can take very long
time with huge cache after long run.

Signed-off-by: Shile Zhang <shile.zhang at linux.alibaba.com>
Tested-by: Heitor Alves de Siqueira <halves at canonical.com>
Signed-off-by: Coly Li <colyli at suse.de>
Signed-off-by: Jens Axboe <axboe at kernel.dk>
(backported from commit d55a4ae9e1af5fb1657e38284ef46c56e668efdb)
Signed-off-by: Heitor Alves de Siqueira <halves at canonical.com>
---
 drivers/md/bcache/sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 940ba3e1bad1..057804caeed2 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -820,7 +820,7 @@ SHOW(__bch_cache)
 
 	if (attr == &sysfs_priority_stats) {
 		int cmp(const void *l, const void *r)
-		{	return *((uint16_t *) r) - *((uint16_t *) l); }
+		{	cond_resched(); return *((uint16_t *) r) - *((uint16_t *) l); }
 
 		struct bucket *b;
 		size_t n = ca->sb.nbuckets, i;
-- 
2.23.0




More information about the kernel-team mailing list