nvme-multipath: round-robin I/O policy
authorHannes Reinecke <hare@suse.de>
Mon, 18 Feb 2019 10:43:26 +0000 (11:43 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 20 Feb 2019 14:17:49 +0000 (07:17 -0700)
commit75c10e73272484bc3a940a9c8e4ec39a7a1b8c21
treec0c20ba4d5600d531bf0ed2c362888fa963097a6
parent49b1f22b567ba1d7d8174950be4398a69d0effb7
nvme-multipath: round-robin I/O policy

Implement a simple round-robin I/O policy for multipathing.  Path
selection is done in two rounds, first iterating across all optimized
paths, and if that doesn't return any valid paths, iterate over all
optimized and non-optimized paths.  If no paths are found, use the
existing algorithm.  Also add a sysfs attribute 'iopolicy' to switch
between the current NUMA-aware I/O policy and the 'round-robin' I/O
policy.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/core.c
drivers/nvme/host/multipath.c
drivers/nvme/host/nvme.h