Received: by 2002:a05:7412:5112:b0:fa:6e18:a558 with SMTP id fm18csp595127rdb; Tue, 23 Jan 2024 08:44:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IGd+NkZCKEUbh+3eMDNKI4cjAgAuKIBAIixBICDAY7IIgXS6AkAnExusQx6HrZ3OIGzBTVj X-Received: by 2002:a05:6402:22a2:b0:55a:d2b6:ecd8 with SMTP id cx2-20020a05640222a200b0055ad2b6ecd8mr966646edb.14.1706028262159; Tue, 23 Jan 2024 08:44:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706028262; cv=pass; d=google.com; s=arc-20160816; b=cfyOIeYssVhgb6JPhYo4e4gxnJIOO+cLe6vJQwcaBqDRTFYiCW8Y+oUiSxD1IAyl+8 1EqmcMQgvFTyDauwGFMHH5pZjeTlEwXB4Nzha04XV8Xvcqcyrs4OUMEyOYgrCUgnUo43 WtQ5+iJJU6BJgClMHyUGoDP7QQB3w2k1vL0qIYA1At5sfvY2tn6dz7BThTOIb+SQdk9u gyOcnqOYR/iNh67JMEY0TnxDnFLwc25rp6PvqAzAF7265ck71xfyd9LIOaVDvjB4dieU E3mflVp3PM6CwC/6vyx0iOvHdZSVOlTKD4HhXy6OsruO/CqkL0kCmc6Jwdb3HeGWoBIL BEIg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=zewDFwWKEbHocfzWejQlR8dUnRitTRtf0d/JGGE6FY8=; fh=MXe2daT6o/Llx0f0z0g25Bn2W2RYLSTaFobLxSK2nXI=; b=k0sRLPA84nxurE7Uis1JiP+2N1yHV4ibjGUDjNCVlNL0KtGOkmMl5fCznz7EuD5jvG L2aUEnrwl5z0ekAUSlUAl77kLxsuwLP5EDwFaJvGt3R0ejGiCegcIWgff6LpnhW6tTKT 1m0hjx0JmAbSwl1zzyl0uQ4e4WCfK3zUsuYcJo4qTS8mWr+oSt9QOFbdXsxgnWVawhHp YR9qsj+0qhhMfnwb3wKkXawxugYy1N59axMS/3NOOx+C/hyuBzd/0nQMtNTCwhcTOjg7 3aRcDerw/T+0uNLvza9Q3Vl5hjR9ftNRJ4pDwIxm55A70znQEZRGp5YMurQ66FJwdYfg LR6Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Tb5AWblJ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-35680-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-35680-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id eo13-20020a056402530d00b0055c6e195f04si1376428edb.71.2024.01.23.08.44.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jan 2024 08:44:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-35680-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Tb5AWblJ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-35680-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-35680-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id A8E151F2DFE4 for ; Tue, 23 Jan 2024 16:44:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 42E5F7FBB4; Tue, 23 Jan 2024 16:37:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tb5AWblJ" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7341F7FBAD for ; Tue, 23 Jan 2024 16:37:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706027865; cv=none; b=H8fLAVH0b+UphGvrfeGImaRkhGCpyBP7PifwfMYdnx3v2NivD8G/18t5bffEimDx2q1b5ESulOwv8rhNFQSfXOKr8P3LxrHX+kNljnnvy/eVS2MI1S0s7z6Xb41QC4qG4VYKOe4rIUQ6hKZHTM+4NTV8Ayr/rshNMD3A2RKWP2E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706027865; c=relaxed/simple; bh=HM1JWMsVS3aO+e6s9uXhxDnTkudCCSPnQhcGMX1cGFs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=GG4Nl3O0TYmOnLGHiVc1CuSK7C18oTadpSih1k7gdYIbyWwScCBlZQQdiy1wsMchPAOy2g2jGgITgp5x550e8J59LMzoAqOI1UgXrhct8Akid1n/UQ3E84P5VnYEv43clVQljLOeamjJ0bvpNolm1ZL5AA2U6G/t7JAZktvV4Dg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tb5AWblJ; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63F03C433F1; Tue, 23 Jan 2024 16:37:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706027864; bh=HM1JWMsVS3aO+e6s9uXhxDnTkudCCSPnQhcGMX1cGFs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Tb5AWblJDawhMPckj0n/uhVr4rgOADnQgZ5UPGOfnTJxxxVd2xfpVFVLsbMfrv+Gb eTr9gVzTpkK3i+Z75/2P1PpszLQMH1CeiC4GqBp4v+XkGmQFpyL9ctc9GwBvkJFSP1 TYWXdPDqm4W8uZeG7HmQO9k8bJJfK9U2+EZ5buu+RAe3iKg3zHH6doBdeoBfsdRJzM i8OZpYmAYUtlZ+wORa4kHZT/mYBKReidwKyMJsq/+wLORfV0I7NEovC/IpCnCAX2Sz XSb0haeMEHYYKqdlFYb7DQmT0K2A9Vc/+h1Lka80zrcJieBAJkywf7EM4b95r7/kRx U5Yrp0g9yMAAg== Date: Tue, 23 Jan 2024 09:37:41 -0700 From: Keith Busch To: Sagi Grimberg Cc: Stuart Hayes , linux-kernel@vger.kernel.org, Jens Axboe , Christoph Hellwig , linux-nvme@lists.infradead.org Subject: Re: [PATCH v2] nvme_core: scan namespaces asynchronously Message-ID: References: <20240118210303.10484-1-stuart.w.hayes@gmail.com> <189cde89-9750-476f-8fbb-1c95dc056efb@grimberg.me> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <189cde89-9750-476f-8fbb-1c95dc056efb@grimberg.me> On Mon, Jan 22, 2024 at 11:13:15AM +0200, Sagi Grimberg wrote: > On 1/18/24 23:03, Stuart Hayes wrote: > > @@ -3901,19 +3932,25 @@ static int nvme_scan_ns_list(struct nvme_ctrl *ctrl) > > goto free; > > } > > + /* > > + * scan list starting at list offset 0 > > + */ > > + atomic_set(&scan_state.count, 0); > > for (i = 0; i < nr_entries; i++) { > > u32 nsid = le32_to_cpu(ns_list[i]); > > if (!nsid) /* end of the list? */ > > goto out; > > - nvme_scan_ns(ctrl, nsid); > > + async_schedule_domain(nvme_scan_ns, &scan_state, &domain); > > while (++prev < nsid) > > nvme_ns_remove_by_nsid(ctrl, prev); > > } > > + async_synchronize_full_domain(&domain); You mentioned async scanning was an improvement if you have 1000 namespaces, but wouldn't this be worse if you have very few namespaces? IOW, the decision to use the async schedule should be based on nr_entries, right?