From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754294AbbJURSc (ORCPT ); Wed, 21 Oct 2015 13:18:32 -0400 Received: from mail.kernel.org ([198.145.29.136]:43528 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750844AbbJURSa (ORCPT ); Wed, 21 Oct 2015 13:18:30 -0400 Message-ID: <1445447902.26847.3.camel@ssi> Subject: Re: [PATCH v6 05/11] block: remove split code in blkdev_issue_{discard,write_same} From: Ming Lin To: Mike Snitzer Cc: Jeff Moyer , Christoph Hellwig , lkml , Jens Axboe , Kent Overstreet , Dongsu Park , "Martin K. Petersen" , Ming Lin , linux-nvme@lists.infradead.org Date: Wed, 21 Oct 2015 10:18:22 -0700 In-Reply-To: <20151021153351.GA4984@redhat.com> References: <1439363241-31772-1-git-send-email-mlin@kernel.org> <1439363241-31772-6-git-send-email-mlin@kernel.org> <20151013115011.GA6546@infradead.org> <20151021072126.GA7671@infradead.org> <1445439679.3126.5.camel@hasee> <20151021153351.GA4984@redhat.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2015-10-21 at 11:33 -0400, Mike Snitzer wrote: > On Wed, Oct 21 2015 at 11:01am -0400, > Ming Lin wrote: > > > On Wed, 2015-10-21 at 09:39 -0400, Jeff Moyer wrote: > > > Christoph Hellwig writes: > > > > > > > Jens, Ming: > > > > > > > > are you fine with the one liner change to get back to the old I/O > > > > pattern? While it looks like the cards fault I'd like to avoid this > > > > annoying regression. > > > > > > I'm not Jens or Ming, but your patch looks fine to me, though you'll > > > want to remove the MAX_BIO_SECTORS definition since it's now unused. > > > It's not clear to me why the limit was lowered in the first place. > > > > UINT_MAX >> 9 is not power of 2 and it causes dm-thinp discard fails. > > > > At the lengthy discussion: > > [PATCH v5 01/11] block: make generic_make_request handle arbitrarily sized bios > > We agreed to cap discard to 2G as an interim solution for 4.3 until the > > dm-thinp discard code is rewritten. > > But did Jens ever commit that change to cap at 2G? I don't recall > seeing it. Yes, commit b49a0871 > > > Hi Mike, > > > > Will the dm-thinp discard rewritten ready for 4.4? > > No. I'm not clear what needs changing in dm-thinp. I'll have to > revisit the thread to refresh my memory. > > BTW, DM thinp can easily handle discards that aren't a power-of-2 so > long as the requested discard is a factor of the thinp blocksize. You are right. It's not about power-of-2. Copy my old post here about why dm-thinp discard may fail with "UINT_MAX >> 9". 4G: 8388608 sectors UINT_MAX: 8388607 sectors dm-thinp block size = default discard granularity = 128 sectors blkdev_issue_discard(sector=0, nr_sectors=8388608) [start_sector, end_sector] [0, 8388607] [0, 8388606], then dm-thinp splits it to 2 bios [0, 8388479] [8388480, 8388606] ---> this has problem in process_discard_bio(), because the discard size(7 sectors) covers less than a block(128 sectors) [8388607, 8388607] ---> same problem