]> git.baikalelectronics.ru Git - kernel.git/commit
nvme: utilize two queue maps, one for reads and one for writes
authorJens Axboe <axboe@kernel.dk>
Wed, 31 Oct 2018 14:36:31 +0000 (08:36 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 Nov 2018 20:45:00 +0000 (13:45 -0700)
commit32547e3719e0dbca4c4394f196f4d24fdf2549cf
tree8b31ec8c238fd9dde740a64c81f3aedfecdfc5fe
parentaa3f7af607e042c24182a71af0cf1488ce3d2fc3
nvme: utilize two queue maps, one for reads and one for writes

NVMe does round-robin between queues by default, which means that
sharing a queue map for both reads and writes can be problematic
in terms of read servicing. It's much easier to flood the queue
with writes and reduce the read servicing.

Implement two queue maps, one for reads and one for writes. The
write queue count is configurable through the 'write_queues'
parameter.

By default, we retain the previous behavior of having a single
queue set, shared between reads and writes. Setting 'write_queues'
to a non-zero value will create two queue sets, one for reads and
one for writes, the latter using the configurable number of
queues (hardware queue counts permitting).

Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/pci.c