Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752879AbdHIMhQ (ORCPT ); Wed, 9 Aug 2017 08:37:16 -0400 Received: from mail-wr0-f173.google.com ([209.85.128.173]:38283 "EHLO mail-wr0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751927AbdHIMhO (ORCPT ); Wed, 9 Aug 2017 08:37:14 -0400 MIME-Version: 1.0 In-Reply-To: References: <1502183035-7441-1-git-send-email-suganath-prabu.subramani@broadcom.com> <1502183035-7441-4-git-send-email-suganath-prabu.subramani@broadcom.com> From: Suganath Prabu Subramani Date: Wed, 9 Aug 2017 18:07:13 +0530 Message-ID: Subject: Re: [PATCH v3 03/13] mpt3sas: SGL to PRP Translation for I/Os to NVMe devices To: "Martin K. Petersen" Cc: "JBottomley@Parallels.com" , jejb@kernel.org, Christoph Hellwig , linux-scsi@vger.kernel.org, Sathya Prakash , Kashyap Desai , linux-kernel@vger.kernel.org, Chaitra Basappa , Sreekanth Reddy , linux-nvme@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1449 Lines: 40 Hi Martin, This code was added to detect holes, when we started testing with 4.9 kernel. when we disabled "use_blk_mq" and no merges, we are hitting issues with holes. Anyhow In latest upstream, it got fixed with this commit 5a8d75a1b8c99bdc926ba69b7b7dbe4fae81a5af So we are removing the code related to hole detection . Thanks, Suganath Prabu S On Tue, Aug 8, 2017 at 9:42 PM, Martin K. Petersen wrote: > > Suganath, > >> + /* >> + ** Below code detects gaps/holes in IO data buffers. >> + ** What does holes/gaps mean? >> + ** Any SGE except first one in a SGL starts at non NVME page size >> + ** aligned address OR Any SGE except last one in a SGL ends at >> + ** non NVME page size boundary. >> + ** >> + ** Driver has already informed block layer by setting boundary rules >> + ** for bio merging done at NVME page size boundary calling kernel API >> + ** blk_queue_virt_boundary inside slave_config. >> + ** Still there is possibility of IO coming with holes to driver because >> + ** of IO merging done by IO scheduler. > > All this SGL to PRP code needs to go. > > If you are seeing anything that's not a valid PRP after setting the > queue virt boundary then there's a block layer bug that needs to be > debugged and fixed. Regardless of whether you are using an I/O scheduler > or not. > > -- > Martin K. Petersen Oracle Linux Engineering