Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3713882ybl; Tue, 21 Jan 2020 05:51:21 -0800 (PST) X-Google-Smtp-Source: APXvYqzwUgbKyDngNOQUasON5Ath7Itr+XpL0NaCYO8J/ghLW4zkZXa65vXH5LiNCnx4hOcIDHOF X-Received: by 2002:a05:6808:2c4:: with SMTP id a4mr2927659oid.22.1579614681511; Tue, 21 Jan 2020 05:51:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579614681; cv=none; d=google.com; s=arc-20160816; b=cb2ZIGRa1baSXulT+12lDdeU3SPbhwukufo6Mu5PiJEWzKCdsEu19bEeuuDF5xshfJ 50CJf9dnAMg9NbptbO1Br3czgTa79+yNy7Q1TaX35xxXofYMptGwEWtfg7Otk52sl5g1 49TEd7d0efWwYadRgC5affcHuKKMknDwHfFpS/ZMicfXaecRgRuRmXoHdiNjrQfn5YsG Lz1AaJZ1kD0gKopfZEbTeiN+LLMawcEBUg9W5SDabGNAhP3WEe0abIzJeqOfyZSv7aWX zvhV/jdX0R9M6bAqi5CPJO25chP9yqaiaL8+3jplJy25BwGzfbsaeKKe1w1mTVuhdf6p xobw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=5sry8glaf+2eDUM7x4dnclmuXsj6ELrKrtRIG9vYSZo=; b=FLKXKsg43MaC5IS0bmGzTIV6u0rLQm+d9myTKFlzOjmqxBib1mLsuaYhaVrbKpnfFu dxTsQUYgclJXClbdkllBjUQXUFTBoXVbs+RRzSk0f+iTmO3w9TsgTg3aYuJh+LPLYbc2 2GH1EyLiez6ZayBFO9MHi8ILMrvygBOXFiDL3qR01KxkaBlErtpuNrkQi3UVyGQA5MBy u0lsGiETptprkE6Z5gGF8rtdQV+rOkM0WouqILN/hFQsKcrbGYluUUFz/PYppgiUFy2Z h6EYdYPVDVUIMO65Hkz8tB/svCXm4szMTNC0j0+ZreAEFiLLMPcOfjaS9kDcs+kNYnEC 1pCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="VXtV+cC/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y126si19780686oiy.235.2020.01.21.05.51.08; Tue, 21 Jan 2020 05:51:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="VXtV+cC/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729182AbgAUNs6 (ORCPT + 99 others); Tue, 21 Jan 2020 08:48:58 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:49913 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728708AbgAUNs6 (ORCPT ); Tue, 21 Jan 2020 08:48:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579614534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5sry8glaf+2eDUM7x4dnclmuXsj6ELrKrtRIG9vYSZo=; b=VXtV+cC/l0X4NcShyX55iJu8dipc39kgu5OYrIFZZ1vNysCMXtumh+WVEl/TfVJ/NMQzts 8LQeRzwWZolBykFvvdpYl9lChyIo3vtuc+1l4yfN3nsEdQpSsBKOARZMH7G4ft7pGI+PY5 1DYsY9mg5r4fIkKX//rCAfqtRN3GghY= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-350-X16t49KjNWKuSIvbi2LOzg-1; Tue, 21 Jan 2020 08:48:50 -0500 X-MC-Unique: X16t49KjNWKuSIvbi2LOzg-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 20246107ACC4; Tue, 21 Jan 2020 13:48:47 +0000 (UTC) Received: from localhost (unknown [10.18.25.174]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 77D6C7DB5D; Tue, 21 Jan 2020 13:48:41 +0000 (UTC) Date: Tue, 21 Jan 2020 08:48:40 -0500 From: Mike Snitzer To: Kirill Tkhai Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, martin.petersen@oracle.com, bob.liu@oracle.com, axboe@kernel.dk, agk@redhat.com, dm-devel@redhat.com, song@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, Chaitanya.Kulkarni@wdc.com, darrick.wong@oracle.com, ming.lei@redhat.com, osandov@fb.com, jthumshirn@suse.de, minwoo.im.dev@gmail.com, damien.lemoal@wdc.com, andrea.parri@amarulasolutions.com, hare@suse.com, tj@kernel.org, ajay.joshi@wdc.com, sagi@grimberg.me, dsterba@suse.com, bvanassche@acm.org, dhowells@redhat.com, asml.silence@gmail.com Subject: Re: [PATCH v4 6/7] dm: Directly disable max_allocate_sectors for now Message-ID: <20200121134840.GA9944@redhat.com> References: <157960325642.108120.13626623438131044304.stgit@localhost.localdomain> <157960337238.108120.18048939587162465175.stgit@localhost.localdomain> <20200121122458.GA9365@redhat.com> <619a7a14-44e6-eca7-c1ea-3f04abeee53d@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <619a7a14-44e6-eca7-c1ea-3f04abeee53d@virtuozzo.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 21 2020 at 8:33am -0500, Kirill Tkhai wrote: > On 21.01.2020 15:36, Kirill Tkhai wrote: > > On 21.01.2020 15:24, Mike Snitzer wrote: > >> On Tue, Jan 21 2020 at 5:42am -0500, > >> Kirill Tkhai wrote: > >> > >>> Since dm inherits limits from underlining block devices, > >>> this patch directly disables max_allocate_sectors for dm > >>> till full allocation support is implemented. > >>> > >>> This prevents high-level primitives (generic_make_request_checks(), > >>> __blkdev_issue_write_zeroes(), ...) from sending REQ_ALLOCATE > >>> requests. > >>> > >>> Signed-off-by: Kirill Tkhai > >>> --- > >>> drivers/md/dm-table.c | 2 ++ > >>> drivers/md/md.h | 1 + > >>> 2 files changed, 3 insertions(+) > >> > >> You're mixing DM and MD changes in the same patch. > >> > >> But I'm wondering if it might be best to set this default for stacking > >> devices in blk_set_stacking_limits()? > >> > >> And then it is up to each stacking driver to override as needed. > > > > Hm. Sound like a good idea. This "lim->max_allocate_sectors = 0" in blk_set_stacking_limits() > > should work for dm's dm_calculate_queue_limits(), since it calls blk_stack_limits(), which is: > > > > t->max_allocate_sectors = min(t->max_allocate_sectors, > > b->max_allocate_sectors); > > > > Could you please tell is this fix is also enough for md? > > It looks like it's enough since queue defaults are set in md_alloc()->blk_set_stacking_limits(). > In case of we set "max_allocate_sectors = 0", in further it can be changed only manually, > but nobody does this. Yes, it will work to disable this capability for MD and DM. But if/when a stacked device _dooes_ want to support this then it'll be awkward to override this stacking default to allow blk_stack_limits() to properly stack up this limit. blk_limits are extremely fiddley so this isn't necessarily new. But by explicitly defaulting to 0 and then having blk_stack_limits use min() for this limit: it results in stacking drivers needing to clumsily unwind the default. E.g. DM will need to tweak its blk_stack_limits() related code to allow override that actually _does_ stack up the underlying devices' capability (and not just impose its own limit that ignores the underlying devices). So I'm not convinced this is the right way to go (be it the v4 approach you took or the cleaner use of blk_set_stacking_limits I suggested). And to be clear, I'm interested in having DM thinp support this capability to preallocate blocks. Mike