Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11, 2017 at 05:01:22PM -0500, Mike Snitzer wrote: > But I've seen you reference the need to stop multipath from allocating > its own requests. Are you referring to old request_fn request-based > multipath's clone_old_rq:alloc_old_clone_request? Yes, that one is the issue. It allocates a struct request "blind", that is without known what queue it goes to. With this queue (or blk-mq for that matter) we need to know the queue, because the request structures might have additional data behind it and require additional initialization for drivers that require per-request data. We make use of the per-request data for SCSI passthrough in this patch. > Or how blk-mq request-based multipath gets a request from the blk-mq tag > space (via blk_mq_alloc_request)? That's fine because it works on the queue of the device that I/O is submitted to. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11 2017 at 4:37am -0500, Hannes Reinecke wrote: > On 01/11/2017 10:01 AM, Christoph Hellwig wrote: > > On Wed, Jan 11, 2017 at 09:59:17AM +0100, Hannes Reinecke wrote: > >> I'd advocate to discuss this at LSF. > >> Now that Mike moved the bio-based mpath stuff back in things got even > >> more complex. > > > > Yeah. If we'd _only_ have bio based support it would simplify things > > a lot, but as a third parallel path it's not exactly making things easier. > > > >> I'll be posting a patchset for reimplementing multipath as a stand-alone > >> driver shortly; that'll give us a good starting point on how we want > >> multipath to evolve. > >> > >> Who knows; we might even manage to move multipath out of device-mapper > >> altogether. > >> That would make Mike very happy, and I wouldn't mind, either :-) > > > > Heh. I'm curious how you want to do that while keeping existing setups > > working, though. > > which will become challenging, indeed. > > ATM it's just a testbed on how things could work; we've got most of the > required infrastucture in the kernel nowadays, so that we can just drop > most of the complexity from the present multipath-tools mess. > > In the end it might even boil down to update the existing device-mapper > multipath implementation. We'll see. Honestly, at this point I'm pretty confident you guys will never actually produce a new NIH multipath. You'll just threaten to for _years_. Joking aside, I think DM multipath would benefit from a more focused separation from all the SCSI cruft that wormed its way in. Factoring that stuff out so that multipath can be more easily adapted/optimized for use with leaner transports like NVMe-over-fabrics. But NVMe-over-fabrics setups are still pretty rare (only a handful of vendors are stepping up with requirements to support it) so details on what change is needed to DM multipath is largely unknown to me. But may become clearer in the coming month. Mike -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11 2017 at 3:45am -0500, Christoph Hellwig wrote: > On Wed, Jan 11, 2017 at 09:42:44AM +0100, Johannes Thumshirn wrote: > > On Tue, Jan 10, 2017 at 04:06:19PM +0100, Christoph Hellwig wrote: > > > Simply the boilerplate code needed for bsg nodes a bit. > > > > > > Signed-off-by: Christoph Hellwig > > > --- > > > > that reminds me of posting my SAS bsg-lib patch... > > Yes. Having SAS use bsg-lib, and bsg-lib switched away from abusing > struct request_queue would make this series a lot cleaner. > > So maybe we should get that into the scsi tree for 4.10 together > with the prep patches in this series as a priority and defer the actual > struct request changes once again. That should also give us some more > time to sort out the dm-mpath story.. I'm not aware of the story you're referring to. I'm missing the actual challenge you're facing. But I've seen you reference the need to stop multipath from allocating its own requests. Are you referring to old request_fn request-based multipath's clone_old_rq:alloc_old_clone_request? Or how blk-mq request-based multipath gets a request from the blk-mq tag space (via blk_mq_alloc_request)? Or both? How is that holding you back? -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On 01/11/2017 10:01 AM, Christoph Hellwig wrote: > On Wed, Jan 11, 2017 at 09:59:17AM +0100, Hannes Reinecke wrote: >> I'd advocate to discuss this at LSF. >> Now that Mike moved the bio-based mpath stuff back in things got even >> more complex. > > Yeah. If we'd _only_ have bio based support it would simplify things > a lot, but as a third parallel path it's not exactly making things easier. > >> I'll be posting a patchset for reimplementing multipath as a stand-alone >> driver shortly; that'll give us a good starting point on how we want >> multipath to evolve. >> >> Who knows; we might even manage to move multipath out of device-mapper >> altogether. >> That would make Mike very happy, and I wouldn't mind, either :-) > > Heh. I'm curious how you want to do that while keeping existing setups > working, though. which will become challenging, indeed. ATM it's just a testbed on how things could work; we've got most of the required infrastucture in the kernel nowadays, so that we can just drop most of the complexity from the present multipath-tools mess. In the end it might even boil down to update the existing device-mapper multipath implementation. We'll see. Cheers, Hannes -- Dr. Hannes ReineckeTeamlead Storage & Networking h...@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11, 2017 at 09:59:17AM +0100, Hannes Reinecke wrote: > I'd advocate to discuss this at LSF. > Now that Mike moved the bio-based mpath stuff back in things got even > more complex. Yeah. If we'd _only_ have bio based support it would simplify things a lot, but as a third parallel path it's not exactly making things easier. > I'll be posting a patchset for reimplementing multipath as a stand-alone > driver shortly; that'll give us a good starting point on how we want > multipath to evolve. > > Who knows; we might even manage to move multipath out of device-mapper > altogether. > That would make Mike very happy, and I wouldn't mind, either :-) Heh. I'm curious how you want to do that while keeping existing setups working, though. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11, 2017 at 09:56:01AM +0100, Johannes Thumshirn wrote: > I'll dig it up and RFC post it. It's currently untested though as I > currently don't have a SMP capable SAS HBA here. > > Do you have an mptXsas available? Unfortunately not. But I think Hannes has, he has recently played around with the interrupt handling for the driver. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On 01/11/2017 09:45 AM, Christoph Hellwig wrote: > On Wed, Jan 11, 2017 at 09:42:44AM +0100, Johannes Thumshirn wrote: >> On Tue, Jan 10, 2017 at 04:06:19PM +0100, Christoph Hellwig wrote: >>> Simply the boilerplate code needed for bsg nodes a bit. >>> >>> Signed-off-by: Christoph Hellwig >>> --- >> >> that reminds me of posting my SAS bsg-lib patch... > > Yes. Having SAS use bsg-lib, and bsg-lib switched away from abusing > struct request_queue would make this series a lot cleaner. > > So maybe we should get that into the scsi tree for 4.10 together > with the prep patches in this series as a priority and defer the actual > struct request changes once again. That should also give us some more > time to sort out the dm-mpath story.. I'd advocate to discuss this at LSF. Now that Mike moved the bio-based mpath stuff back in things got even more complex. I'll be posting a patchset for reimplementing multipath as a stand-alone driver shortly; that'll give us a good starting point on how we want multipath to evolve. Who knows; we might even manage to move multipath out of device-mapper altogether. That would make Mike very happy, and I wouldn't mind, either :-) Cheers, Hannes -- Dr. Hannes ReineckeTeamlead Storage & Networking h...@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11, 2017 at 09:45:12AM +0100, Christoph Hellwig wrote: > On Wed, Jan 11, 2017 at 09:42:44AM +0100, Johannes Thumshirn wrote: > > On Tue, Jan 10, 2017 at 04:06:19PM +0100, Christoph Hellwig wrote: > > > Simply the boilerplate code needed for bsg nodes a bit. > > > > > > Signed-off-by: Christoph Hellwig > > > --- > > > > that reminds me of posting my SAS bsg-lib patch... > > Yes. Having SAS use bsg-lib, and bsg-lib switched away from abusing > struct request_queue would make this series a lot cleaner. > > So maybe we should get that into the scsi tree for 4.10 together > with the prep patches in this series as a priority and defer the actual > struct request changes once again. That should also give us some more > time to sort out the dm-mpath story.. I'll dig it up and RFC post it. It's currently untested though as I currently don't have a SMP capable SAS HBA here. Do you have an mptXsas available? Byte, Johannes -- Johannes Thumshirn Storage jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Wed, Jan 11, 2017 at 09:42:44AM +0100, Johannes Thumshirn wrote: > On Tue, Jan 10, 2017 at 04:06:19PM +0100, Christoph Hellwig wrote: > > Simply the boilerplate code needed for bsg nodes a bit. > > > > Signed-off-by: Christoph Hellwig > > --- > > that reminds me of posting my SAS bsg-lib patch... Yes. Having SAS use bsg-lib, and bsg-lib switched away from abusing struct request_queue would make this series a lot cleaner. So maybe we should get that into the scsi tree for 4.10 together with the prep patches in this series as a priority and defer the actual struct request changes once again. That should also give us some more time to sort out the dm-mpath story.. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 14/15] block/bsg: move queue creation into bsg_setup_queue
On Tue, Jan 10, 2017 at 04:06:19PM +0100, Christoph Hellwig wrote: > Simply the boilerplate code needed for bsg nodes a bit. > > Signed-off-by: Christoph Hellwig > --- that reminds me of posting my SAS bsg-lib patch... Anyways looks good, Reviewed-by: Johannes Thumshirn -- Johannes Thumshirn Storage jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html