summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorShile Zhang <shile.zhang@linux.alibaba.com>2019-09-03 16:25:43 +0300
committerJens Axboe <axboe@kernel.dk>2019-09-03 17:08:28 +0300
commitd55a4ae9e1af5fb1657e38284ef46c56e668efdb (patch)
tree3f1029185405a8724b71997a7b1b4f4356b7e8d5 /drivers/md
parentfa99165cc87a306d11ef6752e606e3f07b1a994e (diff)
downloadlinux-d55a4ae9e1af5fb1657e38284ef46c56e668efdb.tar.xz
bcache: add cond_resched() in __bch_cache_cmp()
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@linux.alibaba.com> Tested-by: Heitor Alves de Siqueira <halves@canonical.com> Signed-off-by: Coly Li <colyli@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/bcache/sysfs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 9f0826712845..6b29e34acf7a 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -960,6 +960,7 @@ KTYPE(bch_cache_set_internal);
static int __bch_cache_cmp(const void *l, const void *r)
{
+ cond_resched();
return *((uint16_t *)r) - *((uint16_t *)l);
}