Re: [PATCH v11] NVMe: Convert to blk-mq

From: Keith Busch
Date: Thu Aug 14 2014 - 11:34:08 EST


On Thu, 14 Aug 2014, Jens Axboe wrote:
On 08/14/2014 02:25 AM, Matias BjÃrling wrote:
The result is set to BLK_MQ_RQ_QUEUE_ERROR, or am I mistaken?

Looks OK to me, looking at the code, 'result' is initialized to
BLK_MQ_RQ_QUEUE_BUSY though. Which looks correct, we don't want to error
on a suspended queue.

My mistake missing how the result was initialized.

nr_tags must be uninitialized or screwed up somehow, otherwise I don't
see how that kmalloc() could warn on being too large. Keith, are you
running with slab debugging? Matias, might be worth trying.

I'm not running with slab debugging. If it's any clue at all, blk-mq is
using 16 of the 31 allocated h/w queues (which is okay as we discussed
earlier), and the oops happens when clearing the first unused queue.

I'll have time to mess with this more today, so I can either help find
the problem or apply a patch if one becomes available.