From: Tejun Heo Date: Mon, 3 Jan 2011 14:01:48 +0000 (+0100) Subject: bio-integrity: mark kintegrityd_wq highpri and CPU intensive X-Git-Tag: firefly_0821_release~7613^2~2877^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a6e8dc46ff0b7defbfa4f29a71aee263377ec573;p=firefly-linux-kernel-4.4.55.git bio-integrity: mark kintegrityd_wq highpri and CPU intensive Work items processed by kintegrityd_wq won't block much, may burn a lot of CPU cycles and affect IO latency. Use alloc_workqueue() to mark it highpri and CPU intensive with max concurrency of 1. Signed-off-by: Tejun Heo Cc: Martin K. Petersen Signed-off-by: Jens Axboe --- diff --git a/fs/bio-integrity.c b/fs/bio-integrity.c index 4d0ff5ee27b8..e49cce234c65 100644 --- a/fs/bio-integrity.c +++ b/fs/bio-integrity.c @@ -782,7 +782,12 @@ void __init bio_integrity_init(void) { unsigned int i; - kintegrityd_wq = create_workqueue("kintegrityd"); + /* + * kintegrityd won't block much but may burn a lot of CPU cycles. + * Make it highpri CPU intensive wq with max concurrency of 1. + */ + kintegrityd_wq = alloc_workqueue("kintegrityd", WQ_MEM_RECLAIM | + WQ_HIGHPRI | WQ_CPU_INTENSIVE, 1); if (!kintegrityd_wq) panic("Failed to create kintegrityd\n");