Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2240731ybl; Thu, 15 Aug 2019 08:40:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqx+f01UbYIqJg+0Y3hXPeiQLbyiSMXFmV6l6BpACttN0vfJjsrFXHguP6+145PhaHBQjtsM X-Received: by 2002:a63:d210:: with SMTP id a16mr3899961pgg.77.1565883640672; Thu, 15 Aug 2019 08:40:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565883640; cv=none; d=google.com; s=arc-20160816; b=Ru2hVelbWQBoYgjTnYUwPkl1XRMeUKGnw7JIq8en3jFOejnteJAuR+ILhP46RGF6PR YdeFmgC84McHH+OfXIbXKRvVp/PNjuus8DHMTUuLZyj8LkmBfHtAn/68dvXMo2v1ay3Q LQkB8v3KnEADMoZcyZvJ0bKA1L86tsgR+F3ZQfMwFqPRxC1SGkXkvkNYIilKo26NlCWP TP/3AhB+ygDzmsupIBRJTobvoTbieQHeBgQCOtiihS1NZ7H1ZVxFGHo+WAAZC5GrSwkM lflkW4q3ADaku2B+csiPMmGdUrKgEziu48uUNqAyPabiCwnjsbTCGiVwuTGs+2q0CA2N usZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=UPE/R7dk1PRW4fz9vq+RV8lPmiFDXVaOGpxZBaywzos=; b=xgkx6BlSroXqEFtbUA1UjvD+SFyyjvmiaVoRFKjKxqv7LL5v7Hg9euYfkUS2m8DdF4 KHYy/wA3PWw+cQsNXez8+Hm1E8xT6HT/yaMiXyjr7ZrOf97WGb9abSxGlxleR98050uG rLBOBPPk61odBt0FlsLzCxyreFC/dSVvdMzcGCcsxBkZVAnjWwPhLLHe5pxZ2bN4q8UI CXuIQYnipl6AHBQn3MZFr4FwbKxx3MobD0xh5eLElWzvCvD/f8ttFvyN/f7i/PSQSc8k UauQo/p7AeUCW7YWnJMCeDBGAENVNLMCULxT5kwj5+OALvRU0ek2JXm+hiQ5sa4zBUKi Ervg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=bhktrSAq; 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=REJECT sp=REJECT dis=NONE) header.from=android.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e5si2027998pgc.29.2019.08.15.08.40.24; Thu, 15 Aug 2019 08:40:40 -0700 (PDT) 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=@android.com header.s=20161025 header.b=bhktrSAq; 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=REJECT sp=REJECT dis=NONE) header.from=android.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731958AbfHOO5k (ORCPT + 99 others); Thu, 15 Aug 2019 10:57:40 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:44558 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728500AbfHOO5k (ORCPT ); Thu, 15 Aug 2019 10:57:40 -0400 Received: by mail-lj1-f195.google.com with SMTP id e24so2460476ljg.11 for ; Thu, 15 Aug 2019 07:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UPE/R7dk1PRW4fz9vq+RV8lPmiFDXVaOGpxZBaywzos=; b=bhktrSAq2ebXuUMlotB3r4hNLUEjLMFMqFzHRJWuSwfrGwo18FrUderietEAXPL+T9 d/wc7hvHdj6X2uZ3KOFI3MdsNM9sRxthqttD8sH39xh4RllH4Y7BhXmKlznmLujipKKa wN4oPfY/UFCb9e1HqEHgTSJRo/y0T7NWp3EunitU/zQyVdSKXLsau5mDr7z3C99T5qQx fRbaC9NJnKtq7X/QFcz61tNLw8Km7PFMrhruxFRjsH2DVkQt6mQZvQSAK1n1m8wC8aSK zz/ip/EHHSc94JfJRnhOa4RPgG1zKYHM0DZ1GIAP8Sxd4P0m1Fe3hOPJkMEFbevdRGGF ridw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UPE/R7dk1PRW4fz9vq+RV8lPmiFDXVaOGpxZBaywzos=; b=bEwyRUcFaVMtryToAH1NaUpJRmE5sSVZN77w9LMXPzHIDcT+iEGJ8j94A4cTPGw/wl pbxBvp+G+8t/IMXsZle/aBbQA9wdO6oc3N3mx1mNqKTPSnENLpXaMw7wyjbEbz+SMqok xn32otwOKZPRLsgmQY7akWmRkinjBETwt8+7RfHDQAfgAeqymKsNQ3XhzZnJ0RYdALrm FjNJttIgWPywOpdLfMxnMaRa5rntO8pVJbU9fGChpYRa5nqCxSOnxlZZyLkjivtNxSc0 yVGvkEEkm7g/aIcx/1/YL+RHSMg6Xl9rgNTT+fexgXXrNka5+lvcw5onekAvy6AENTWO 6GXA== X-Gm-Message-State: APjAAAXt29yukOySCZpIy64Zjo6SSk2/0+omO9S9jg+o1elgX7u2Ma+6 +kKO9Hmk2U6xdeuVpbUfk+B6I3srmrg55M2Cm+TbfQ== X-Received: by 2002:a2e:860d:: with SMTP id a13mr2918768lji.215.1565881058066; Thu, 15 Aug 2019 07:57:38 -0700 (PDT) MIME-Version: 1.0 References: <20190814103244.92518-1-maco@android.com> <20190814113348.GA525@ming.t460p> <20190814114646.GA14561@ming.t460p> In-Reply-To: <20190814114646.GA14561@ming.t460p> From: Martijn Coenen Date: Thu, 15 Aug 2019 15:57:27 +0100 Message-ID: Subject: Re: [PATCH] RFC: loop: Avoid calling blk_mq_freeze_queue() when possible. To: Ming Lei Cc: axboe@kernel.dk, linux-block@vger.kernel.org, LKML , Greg KH , kernel-team@android.com, Narayan Kamath , Dario Freni , Nikita Ioffe , Jiyong Park , Martijn Coenen Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 14, 2019 at 12:47 PM Ming Lei wrote: > blk_queue_init_done() is only called in blk_queue_init_done() for > this purpose, so this approach should be fine, IMO. I was thinking somebody might add more stuff to "init" in the future, and then that new stuff would now no longer be executed for the loop driver. The name "init" is pretty generic...but if that's not a concern I'm happy with your proposal as well. There's one more "freeze" I'd like to get rid of - we also call LOOP_SET_STATUS(64), and there's a freeze in there because lo->transfer is modified. That makes sense, but I was hoping we can make that freeze conditional on whether lo->transfer would actually change value; if it stays the same, I think freezing is not necessary. > > > switching q_usage_counter to per-cpu mode in the block layer in > > general, until the first request comes in? > > This approach may not help your issue on loop, IO request comes > just after disk is added, such as by systemd, or reading partition table. That's a good point, I thought we could avoid the partition scan, but on some Android devices we'll have max_part set, and there will be a partition scan. Thanks, Martijn > > However, loop only starts to handle IO really after it becomes 'Lo_bound'. > > thanks, > Ming