public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/2] blk-mq: fix oops caused by CPU hotplug
@ 2015-04-21  2:00 Ming Lei
  2015-04-21  2:00 ` [PATCH v1 1/2] blk-mq: fix race between timeout and " Ming Lei
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ming Lei @ 2015-04-21  2:00 UTC (permalink / raw)
  To: Jens Axboe, linux-kernel; +Cc: Christoph Hellwig, Al Viro, Maxim Patlasov

Hi Guys,

Dongsu Park reported[1] that kernel oops can be triggered easily by
CPU plug when there is pending I/O on virtio-scsi.

Turns out two problems exist in blk-mq core code and both can trigger
oops by CPU plug:
        - timeout handling vs CPU hotplug, especially unmapped hw queue tags
        is still touched by timeout handler
        - in case of shared tags, there is one bug about setting and checking
        hctx->tags during CPU hotplug

The two patches fix the two problem, and Dongsu has verified that
the oops is fixed with the two patches too.

[1], http://marc.info/?t=142926389200008&r=1&w=2

V1:
	- update comment
	- moving tags allocation in blk_mq_map_swqueue() because
	unmapped hw queue can be remapped after CPU topo is changed

 block/blk-mq.c |   50 ++++++++++++++++++++++++++------------------------
 1 file changed, 26 insertions(+), 24 deletions(-)


Thanks,
Ming Lei


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

end of thread, other threads:[~2015-04-23 16:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-21  2:00 [PATCH v1 0/2] blk-mq: fix oops caused by CPU hotplug Ming Lei
2015-04-21  2:00 ` [PATCH v1 1/2] blk-mq: fix race between timeout and " Ming Lei
2015-04-21  2:00 ` [PATCH v1 2/2] blk-mq: fix CPU hotplug handling Ming Lei
2015-04-23 16:27 ` [PATCH v1 0/2] blk-mq: fix oops caused by CPU hotplug Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox