blk-mq: allow software queue to map to multiple hardware queues
The mapping used to be dependent on just the CPU location, but now it's a tuple of (type, cpu) instead. This is a prep patch for allowing a single software queue to map to multiple hardware queues. No functional changes in this patch. This changes the software queue count to an unsigned short to save a bit of space. We can still support 64K-1 CPUs, which should be enough. Add a check to catch a wrap. Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
f9afca4d36
commit
f31967f0e4
5 changed files with 23 additions and 12 deletions
|
|
@ -37,7 +37,8 @@ struct blk_mq_hw_ctx {
|
|||
struct blk_mq_ctx *dispatch_from;
|
||||
unsigned int dispatch_busy;
|
||||
|
||||
unsigned int nr_ctx;
|
||||
unsigned short type;
|
||||
unsigned short nr_ctx;
|
||||
struct blk_mq_ctx **ctxs;
|
||||
|
||||
spinlock_t dispatch_wait_lock;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue