Messages in this thread Patch in this message | | | From | Matias Bjørling <> | Subject | [PATCH] block: remove WQ_POWER_EFFICIENT from kblockd | Date | Wed, 11 Jun 2014 23:43:54 +0200 |
| |
blk-mq issues async requests through kblockd. To issue a work request on a specific CPU, kblockd_schedule_delayed_work_on is used. However, the CPU can change if the machine is a laptop or similar. In that case its workqueue.power_efficient parameter is set to true. That enables kblockd to be WQ_UNBOUND by default. Leaving blk-mq to bounce its hw ctx queues between CPUs.
Remove the kblockd WQ_POWER_EFFICIENT flag to prevent this behavior.
Signed-off-by: Matias Bjørling <m@bjorling.me> --- block/blk-core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c index f6f6b9a..6f8dba1 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -3312,8 +3312,7 @@ int __init blk_dev_init(void) /* used for unplugging and affects IO latency/throughput - HIGHPRI */ kblockd_workqueue = alloc_workqueue("kblockd", - WQ_MEM_RECLAIM | WQ_HIGHPRI | - WQ_POWER_EFFICIENT, 0); + WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); if (!kblockd_workqueue) panic("Failed to create kblockd\n"); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |