From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 10/13] megaraid_sas: set virt_boundary_mask in the scsi host Date: Mon, 17 Jun 2019 10:44:33 +0200 Message-ID: <20190617084433.GA7969@lst.de> References: <20190605190836.32354-1-hch@lst.de> <20190605190836.32354-11-hch@lst.de> <20190608081400.GA19573@lst.de> <98f6557ae91a7cdfe8069fcf7d788c88@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <98f6557ae91a7cdfe8069fcf7d788c88@mail.gmail.com> Sender: linux-kernel-owner@vger.kernel.org To: Kashyap Desai Cc: Christoph Hellwig , Jens Axboe , Sebastian Ott , Sagi Grimberg , Max Gurtovoy , Bart Van Assche , Ulf Hansson , Alan Stern , Oliver Neukum , linux-block@vger.kernel.org, linux-rdma@vger.kernel.org, linux-mmc@vger.kernel.org, linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org, "PDL,MEGARAIDLINUX" , PDL-MPT-FUSIONLINUX , linux-hyperv@vger.kernel.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, linux-kernel@vger.kernel.org List-Id: linux-rdma@vger.kernel.org On Fri, Jun 14, 2019 at 01:28:47AM +0530, Kashyap Desai wrote: > Is there any changes in API blk_queue_virt_boundary? I could not find > relevant code which account for this. Can you help ? > Which git repo shall I use for testing ? That way I can confirm, I didn't > miss relevant changes. Latest mainline plus the series (which is about to get resent). blk_queue_virt_boundary now forced an unlimited max_hw_sectors as that is how PRP-like schemes work, to work around a block driver merging bug. But we also need to communicate that limit to the DMA layer so that we don't set a smaller iommu segment size limitation. > >From your above explanation, it means (after this patch) max segment size > of the MR controller will be set to 4K. > Earlier it is possible to receive single SGE of 64K datalength (Since max > seg size was 64K), but now the same buffer will reach the driver having 16 > SGEs (Each SGE will contain 4K length). No, there is no more limit for the size of the segment at all, as for PRPs each PRP is sort of a segment from the hardware perspective. We just require the segments to not have gaps, as PRPs don't allow for that. That being said I think these patches are wrong for the case of megaraid or mpt having both NVMe and SAS/ATA devices behind a single controller. Is that a valid configuration?