On 10/25/18 11:16 PM, Jens Axboe wrote:
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).
Signed-off-by: Jens Axboe <[email protected]>
---
drivers/nvme/host/pci.c | 139 +++++++++++++++++++++++++++++++++++++---
1 file changed, 131 insertions(+), 8 deletions(-)
Reviewed-by: Hannes Reinecke <[email protected]>
Cheers,
Hannes