Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp1386844lqo; Sat, 11 May 2024 23:36:32 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUH17pM2h/DY7Mr09M+z7yB7RSQpfoOlQVIfwe8+N4PTUixlY4Cr5kll5F5AjPEdKxS1iTmmILrNR7JICz529LH/CX+nWhSvqCqMS6c1A== X-Google-Smtp-Source: AGHT+IEHJwxJdmwo10GpmHNZtc3vzNrQ5OL6P1BEnuTuDaqZi/p/4HAN0Y6yUgukZogbXS73t5In X-Received: by 2002:a17:903:32cd:b0:1ee:b0db:e74a with SMTP id d9443c01a7336-1ef43e28493mr91429865ad.40.1715495792120; Sat, 11 May 2024 23:36:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715495792; cv=pass; d=google.com; s=arc-20160816; b=e/4r/8mtlW8Nkf0RT7SqsE7wx4iBgR1ymEG5FhKnZcmL+7olzuViknhzA7ddh0wpcg 7ZcbyhZpJMoD7l94SL0d+OBxqZRZMD1bNXeXBS+STPPGNuguIDzbggjpii1uVbNavSxs I1N+sWKZD4q6sA7ZyKvRU+STUmLF71SQQdpEt2exyrCQSJU09MD/y/l54QaJxh/LLqUT dICJsJcrAJPeTSSIRmjRvdOMGWtGrI9p4rBx9M0ND6mSW6XtaCmYjT6ME7G1AtW3yOyz dDkvMfx+BInjEQO5CFG6Kwv1I0KYB56WfSHfMQ4uI3iSf00LWOwYlJohXx/nOE5jA+Yh SSyw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:date:references:in-reply-to:subject:cc:to:dkim-signature :dkim-signature:from; bh=QJak6izOLdXcT5b2TZaAlyg3uKMUWQPMlJ+3t6Ownik=; fh=gCsbpkkf0/kuSJ1LsdTcVfkTXU1AcHoVYCo5A44VOiM=; b=JYJ1gmG1ivW44zA41ITh0uN/Wd5EXNbiSCsbelqq0kWAjPy6nY5Ne03polQIcM8ms0 X0MAX/CVV5qGYoFcwiok8eglcnhA2yMV521Jq5KIi2vNm1yTykrP/23sjCTTp/Y0aED3 unittOqFqdFO4Fzr9CRYf7a4JCGvAb3ytP+xQDntYupgV5z8ms8SyQh24+gpHSSYFP3x F3vl5oWuj98BWYJIIeA+0wk5geOOQAYEcRy4SOkghC6sGMTy3C++KcVoNByQWrq7GDRg /AVY9cqAj9t6bi/G9lV2tpFHQeyp4BvINTTm8VV3NGDHuYHSnyUf9s8KGx0oQ/QUbXIA xZEw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=gOcJeskN; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=24AKP5h2; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-176806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-176806-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id d9443c01a7336-1ef0c037ce2si35995335ad.348.2024.05.11.23.36.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 May 2024 23:36:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-176806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=gOcJeskN; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=24AKP5h2; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-176806-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-176806-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de 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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 24EBBB20D3A for ; Sun, 12 May 2024 06:36:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 12B46FBEA; Sun, 12 May 2024 06:36:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="gOcJeskN"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="24AKP5h2" Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (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 11E51E556 for ; Sun, 12 May 2024 06:36:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715495768; cv=none; b=AMQMbsY1VtpNO51c2enCUsjO8KSaTJ3W6h7deFOhS+ipyXmSWuQkRe3lsWwBWfjMXkqkPt6AM6H7P+aNlCN6aJDaiJb2H3HVS3RyKH1gTqzKrgIa5i70PRFbIgZMvkdywYvYUKbwIR2eqZZZoafzBfTKymog8b/Qc81JXIlgbLc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715495768; c=relaxed/simple; bh=jA+qK5hVsJOCZ/TVuc/fCxhMUa6r3N263i61oVDq9H4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=uPPfuFRov9dDeN00RGfT2pO/KbD9Ycrpj6nt5FCt/S0a70/oE3rkIFvII460MRi5vhMYn5dzStsdrhoHJZ2Q78/dYsj/NqTNky2Ey/8yUiXEsYk7yJ4yjmbNfIhRI0207vAJflKZKAe0KzgqYAST9nd7YVz1oxdR2oiiAO3IJa0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=gOcJeskN; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=24AKP5h2; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1715495756; 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=QJak6izOLdXcT5b2TZaAlyg3uKMUWQPMlJ+3t6Ownik=; b=gOcJeskN/2y0z/zGSs1nmmCHx1/0DqBNDcf97/2kgXfnb2qnRUtv/jKClMYVJ4CLHQIQ6w NDbGdHDbiYDAPft3fzwe1tS9RVC6/25qoIF3b80vsxHD1Vtmj3Lq2p1ZiDkyzg4anCftJP QilpQgDSqctPPrOdgE3MFA6b5iB3Q3jICaYzLHrXM4szdzJ4kBnIbZtAvfzmj5xUuL78n0 Td+coWZRwtqCEzwv7/Wz0C0A5HW/b/SLTgfY2PmQDqwZyiKMFEZG6C+pCMcAsjF0ShocpD jg0DBGik3J2PWbqw8VVKrORSamjUna9CL54lAzLvh9785m7glEYh1vpda+YnFQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1715495756; 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=QJak6izOLdXcT5b2TZaAlyg3uKMUWQPMlJ+3t6Ownik=; b=24AKP5h2uBsPJidtVpL1o9LyJp+cc2J4nSHdY+ggiissoreeUu6SAxuSlPUGl8nI0cD3aM 1NE3YuiWVgmRIyBg== To: Keith Busch , Ming Lei Cc: Christoph Hellwig , Keith Busch , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] nvme-pci: allow unmanaged interrupts In-Reply-To: References: <20240510141459.3207725-1-kbusch@meta.com> <20240510141459.3207725-2-kbusch@meta.com> <20240510151047.GA10486@lst.de> Date: Sun, 12 May 2024 08:35:55 +0200 Message-ID: <87r0e7mt9w.ffs@tglx> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Fri, May 10 2024 at 18:41, Keith Busch wrote: > On Sat, May 11, 2024 at 07:50:21AM +0800, Ming Lei wrote: >> Can you explain a bit why it is a no-op? If only isolated CPUs are >> spread on one queue, there will be no IO originated from these isolated >> CPUs, that is exactly what the isolation needs. > > The "isolcpus=managed_irq," option doesn't limit the dispatching CPUs. > It only limits where the managed irq will assign the effective_cpus as a > best effort. > > Example, I boot with a system with 4 threads, one nvme device, and > kernel parameter: > > isolcpus=managed_irq,2-3 > > Run this: > > for i in $(seq 0 3); do taskset -c $i dd if=/dev/nvme0n1 of=/dev/null bs=4k count=1000 iflag=direct; done > > Check /proc/interrupts | grep nvme0: > > CPU0 CPU1 CPU2 CPU3 > .. > 26: 1000 0 0 0 PCI-MSIX-0000:00:05.0 1-edge nvme0q1 > 27: 0 1004 0 0 PCI-MSIX-0000:00:05.0 2-edge nvme0q2 > 28: 0 0 1000 0 PCI-MSIX-0000:00:05.0 3-edge nvme0q3 > 29: 0 0 0 1043 PCI-MSIX-0000:00:05.0 4-edge nvme0q4 > > The isolcpus did nothing becuase the each vector's mask had just one > cpu; there was no where else that the managed irq could send it. The > documentation seems to indicate that was by design as a "best effort". That's expected as you pin the I/O operation on the isolated CPUs which in turn makes them use the per CPU queue. The isolated CPUs are only excluded for device management interrupts, but not for the affinity spread of the queues. Thanks, tglx