]> 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)
commit4fd9375a7c8a34644b23601d697ccc0be358a384
tree8b31ec8c238fd9dde740a64c81f3aedfecdfc5fe
parentdbf914e6586e094e255eff8d9744411d131d3bdc
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