linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/2] fixes for the updating nr_hw_queues
@ 2018-08-17  3:54 Jianchao Wang
  2018-08-17  3:54 ` [PATCH V2 1/2] blk-mq: init hctx sched after update ctx and hctx mapping Jianchao Wang
  2018-08-17  3:54 ` [PATCH V2 2/2] blk-mq: sync the update nr_hw_queues with part_in_flight Jianchao Wang
  0 siblings, 2 replies; 11+ messages in thread
From: Jianchao Wang @ 2018-08-17  3:54 UTC (permalink / raw)
  To: axboe; +Cc: tom.leiming, bart.vanassche, keith.busch, linux-block, linux-kernel

Hi Jens

Two fixes for updating nr_hw_queues.

The first patch fixes the following scenario:
io scheduler (kyber) depends on the mapping between ctx and hctx.
When update nr_hw_queues, io scheduler's init_hctx will be
invoked before the mapping is adapted correctly, this would cause
panic in kyber.

The second patch fixes the following scenario:
part_in_flight/rw will invoke blk_mq_in_flight/rw to account the
inflight requests. It will access the queue_hw_ctx and nr_hw_queues
w/o any protection. When updating nr_hw_queues and blk_mq_in_flight
/rw occur concurrently, panic comes up.


V2:
 - remove blk_mq_sched_init/exit_hctx in patch 1.
 - use q_usage_counter instead of adding new member suggested by
   Ming in patch 2.
 - comment modification.

Jianchao Wang(2)
blk-mq: init hctx sched after update ctx and hctx mapping
blk-mq: sync the update nr_hw_queues with part_in_flight

 block/blk-mq-sched.c   | 44 ----------------------------------
 block/blk-mq-sched.h   |  5 ----
 block/blk-mq.c         | 65 +++++++++++++++++++++++++++++++++++++++++++-------
 block/blk.h            |  2 ++
 block/elevator.c       | 20 +++++++++-------
 include/linux/blkdev.h |  3 +++
 6 files changed, 74 insertions(+), 65 deletions(-)

Thanks
Jianchao

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-08-20  5:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-17  3:54 [PATCH V2 0/2] fixes for the updating nr_hw_queues Jianchao Wang
2018-08-17  3:54 ` [PATCH V2 1/2] blk-mq: init hctx sched after update ctx and hctx mapping Jianchao Wang
2018-08-17  9:33   ` Ming Lei
2018-08-20  1:29     ` jianchao.wang
2018-08-20  2:24       ` Ming Lei
2018-08-20  3:57         ` jianchao.wang
2018-08-20  4:18           ` Ming Lei
2018-08-20  5:21             ` jianchao.wang
2018-08-17  3:54 ` [PATCH V2 2/2] blk-mq: sync the update nr_hw_queues with part_in_flight Jianchao Wang
2018-08-17  9:36   ` Ming Lei
2018-08-20  1:32     ` jianchao.wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).