Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Keith Busch
On Fri, Mar 30, 2018 at 09:04:46AM +, Eric H. Chang wrote: > We internally call PCIe-retimer as HBA. It's not a real Host Bus Adapter that > translates the interface from PCIe to SATA or SAS. Sorry for the confusion. Please don't call a PCIe retimer an "HBA"! :) While your experiment is

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Keith Busch
On Fri, Mar 30, 2018 at 09:04:46AM +, Eric H. Chang wrote: > We internally call PCIe-retimer as HBA. It's not a real Host Bus Adapter that > translates the interface from PCIe to SATA or SAS. Sorry for the confusion. Please don't call a PCIe retimer an "HBA"! :) While your experiment is

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
@@ -85,7 +121,14 @@ static blk_qc_t nvme_ns_head_make_request(struct request_queue *q, int srcu_idx; srcu_idx = srcu_read_lock(>srcu); - ns = nvme_find_path(head); + switch (head->mpath_policy) { + case NVME_MPATH_ROUND_ROBIN: + ns =

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
@@ -85,7 +121,14 @@ static blk_qc_t nvme_ns_head_make_request(struct request_queue *q, int srcu_idx; srcu_idx = srcu_read_lock(>srcu); - ns = nvme_find_path(head); + switch (head->mpath_policy) { + case NVME_MPATH_ROUND_ROBIN: + ns =

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
For PCIe devices the right policy is not a round robin but to use the pcie device closer to the node. I did a prototype for that long ago and the concept can work. Can you look into that and also make that policy used automatically for PCIe devices? I think that active/active makes sense

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
For PCIe devices the right policy is not a round robin but to use the pcie device closer to the node. I did a prototype for that long ago and the concept can work. Can you look into that and also make that policy used automatically for PCIe devices? I think that active/active makes sense

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-30 Thread Christoph Hellwig
On Fri, Mar 30, 2018 at 01:57:25PM +0900, Baegjae Sung wrote: > Our prototype uses dual-ported PCIe NVMe connected to a single host. The > host's HBA is connected to two switches, What "HBA"? We are talking about NVMe here..

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-30 Thread Christoph Hellwig
On Fri, Mar 30, 2018 at 01:57:25PM +0900, Baegjae Sung wrote: > Our prototype uses dual-ported PCIe NVMe connected to a single host. The > host's HBA is connected to two switches, What "HBA"? We are talking about NVMe here..

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-29 Thread Baegjae Sung
2018-03-29 4:47 GMT+09:00 Keith Busch : > On Wed, Mar 28, 2018 at 10:06:46AM +0200, Christoph Hellwig wrote: >> For PCIe devices the right policy is not a round robin but to use >> the pcie device closer to the node. I did a prototype for that >> long ago and the concept

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-29 Thread Baegjae Sung
2018-03-29 4:47 GMT+09:00 Keith Busch : > On Wed, Mar 28, 2018 at 10:06:46AM +0200, Christoph Hellwig wrote: >> For PCIe devices the right policy is not a round robin but to use >> the pcie device closer to the node. I did a prototype for that >> long ago and the concept can work. Can you look

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-29 Thread Christoph Hellwig
On Wed, Mar 28, 2018 at 01:47:41PM -0600, Keith Busch wrote: > single host (single path from two hosts seems more common). If that's a > thing, we should get some numa awareness. I couldn't find your prototype, > though. I had one stashed locally from a while back and hope it resembles > what you

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-29 Thread Christoph Hellwig
On Wed, Mar 28, 2018 at 01:47:41PM -0600, Keith Busch wrote: > single host (single path from two hosts seems more common). If that's a > thing, we should get some numa awareness. I couldn't find your prototype, > though. I had one stashed locally from a while back and hope it resembles > what you

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-28 Thread Keith Busch
On Wed, Mar 28, 2018 at 10:06:46AM +0200, Christoph Hellwig wrote: > For PCIe devices the right policy is not a round robin but to use > the pcie device closer to the node. I did a prototype for that > long ago and the concept can work. Can you look into that and > also make that policy used

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-28 Thread Keith Busch
On Wed, Mar 28, 2018 at 10:06:46AM +0200, Christoph Hellwig wrote: > For PCIe devices the right policy is not a round robin but to use > the pcie device closer to the node. I did a prototype for that > long ago and the concept can work. Can you look into that and > also make that policy used

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-28 Thread Christoph Hellwig
For PCIe devices the right policy is not a round robin but to use the pcie device closer to the node. I did a prototype for that long ago and the concept can work. Can you look into that and also make that policy used automatically for PCIe devices?

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-28 Thread Christoph Hellwig
For PCIe devices the right policy is not a round robin but to use the pcie device closer to the node. I did a prototype for that long ago and the concept can work. Can you look into that and also make that policy used automatically for PCIe devices?

[PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-26 Thread Baegjae Sung
Some storage environments (e.g., dual-port NVMe SSD) provide higher performance when using multiple paths simultaneously. Choosing a path from multiple paths in a round-robin fashion is a simple and efficient way to meet these requirements. We implement the active-active round-robin path selector

[PATCH] nvme-multipath: implement active-active round-robin path selector

2018-03-26 Thread Baegjae Sung
Some storage environments (e.g., dual-port NVMe SSD) provide higher performance when using multiple paths simultaneously. Choosing a path from multiple paths in a round-robin fashion is a simple and efficient way to meet these requirements. We implement the active-active round-robin path selector