]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: fix CPU hotplug handling
authorMing Lei <ming.lei@canonical.com>
Tue, 21 Apr 2015 02:00:20 +0000 (10:00 +0800)
committerJens Axboe <axboe@fb.com>
Thu, 23 Apr 2015 16:27:38 +0000 (10:27 -0600)
commit4c154f0f0a3414a37db34d83b8e97d74ff218da1
treed820359eae469febd262ebfb87811fec8db215c2
parent8eecdfa31043f136751f58fb515992981ec11ccc
blk-mq: fix CPU hotplug handling

hctx->tags has to be set as NULL in case that it is to be unmapped
no matter if set->tags[hctx->queue_num] is NULL or not in blk_mq_map_swqueue()
because shared tags can be freed already from another request queue.

The same situation has to be considered during handling CPU online too.
Unmapped hw queue can be remapped after CPU topo is changed, so we need
to allocate tags for the hw queue in blk_mq_map_swqueue(). Then tags
allocation for hw queue can be removed in hctx cpu online notifier, and it
is reasonable to do that after mapping is updated.

Cc: <stable@vger.kernel.org>
Reported-by: Dongsu Park <dongsu.park@profitbricks.com>
Tested-by: Dongsu Park <dongsu.park@profitbricks.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c