]> Git Repo - linux.git/commit
blk-mq: simplify queue mapping & schedule with each possisble CPU
authorChristoph Hellwig <[email protected]>
Fri, 12 Jan 2018 02:53:06 +0000 (10:53 +0800)
committerJens Axboe <[email protected]>
Fri, 12 Jan 2018 18:01:40 +0000 (11:01 -0700)
commit20e4d813931961fe26d26a1e98b3aba6ec00b130
treeb6ba68628816661204010388c68416be56ceefb7
parent84676c1f21e8ff54befe985f4f14dc1edc10046b
blk-mq: simplify queue mapping & schedule with each possisble CPU

The previous patch assigns interrupt vectors to all possible CPUs, so
now hctx can be mapped to possible CPUs, this patch applies this fact
to simplify queue mapping & schedule so that we don't need to handle
CPU hotplug for dealing with physical CPU plug & unplug. With this
simplication, we can work well on physical CPU plug & unplug, which
is a normal use case for VM at least.

Make sure we allocate blk_mq_ctx structures for all possible CPUs, and
set hctx->numa_node for possible CPUs which are mapped to this hctx. And
only choose the online CPUs for schedule.

Reported-by: Christian Borntraeger <[email protected]>
Tested-by: Christian Borntraeger <[email protected]>
Tested-by: Stefan Haberland <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Fixes: 4b855ad37194 ("blk-mq: Create hctx for each present CPU")
(merged the three into one because any single one may not work, and fix
selecting online CPUs for scheduler)
Signed-off-by: Ming Lei <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
block/blk-mq.c
This page took 0.05291 seconds and 4 git commands to generate.