From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f225.google.com (mail-pf1-f225.google.com [209.85.210.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21E46395DAC for ; Mon, 24 Aug 2026 22:56:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.225 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787612220; cv=none; b=q0eKsDIpLI7bzI7dxfot/N0NhggzXk8EMyBhk7JFoYMyqr/RUqsPGU5at9FHPcRPAworypDbwj5xMYTBjK6h+Mzb9Wzl6QfkFXPfx5syCAHRu2vx39lhZZiCK1r/GA/2c2Dd32UsJUD8DTgdy3XrwRVVOJrAlmMdFGRaSGMGOf0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787612220; c=relaxed/simple; bh=9gJqTkKJ06YpHgaCSUIILveDwjrq9Dhv3/h0ho3HS/A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Q7eTs/zg3UHvYfxsC/5V2j3HUQg8DqhNwsXxamB7aCDhSkl/BCZ/dxFTvuHS0bcXb0CYsrZ0re/gHq+bkFozsX0m0eHLzoQrdekhc+Ck3gukQ7rGiOa/XXfWQmA31XGDeXy6pkVF+ipD2zsj2PTrlHYJaWQ0duCKnjndZqYfi4U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=purestorage.com; spf=pass smtp.mailfrom=purestorage.com; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b=KPdUbfCV; arc=none smtp.client-ip=209.85.210.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=purestorage.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=purestorage.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b="KPdUbfCV" Received: by mail-pf1-f225.google.com with SMTP id d2e1a72fcca58-8518b3ff3e9so3461869b3a.2 for ; Mon, 24 Aug 2026 15:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purestorage.com; s=google2022; t=1787612218; x=1788217018; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=7NL0avwy/b1oj7AKuA7zyx+lPprGdI4OlhtLVwe8rvw=; b=KPdUbfCVrUzR0ZdYfZP+LdDM48oWiAb9v1dgVYE2odknZSmo26655b1ooMqsTCWdES RVb0fV76j71NlwZqpF6AGQGP5iXqhWrnkgy/pz4/Uc8gDM9tq5WcFs+gXkKko7dTY+Ot 7QiPcn4ZxSHp1HaHYFfSEl6HqNnIouOrYh4R4XdmIkDOZo1FH9486e/0Ai2vUW/Qr/qF fn9eOrNirAhfR2B77yBZQg/lqInPG+kM/64EyDIJ46u1u36JsCWO8CyoQ65CtYJgIQim fIDczeWcKk0ALXx1b2zqMi1rUyu4Xze2dCn6/sv1UZO033mnwnK5ru1Aah35aaJsIlQo 5F2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787612218; x=1788217018; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7NL0avwy/b1oj7AKuA7zyx+lPprGdI4OlhtLVwe8rvw=; b=UTHl8Fxpy1u1Y6Ay5rUuWlVViBV6OzWJyb0WDDxt43FT2pCUO6tjrNoYtJchNC4kYE wAr5Agp5BdKf9UsQpp+FWb7MSkBH1gj9PGt6wZ1KrcJqeox0tOgW2TZbZYvB6SXrJWak DVsm3ie+HFiP2BHHAnNWToKhKsyxBgbaJ0EQNXf3A8MXSs4qHrOiBE03pueXU2iEHOxo k4RPSne7QZF0VdWi+Lq/tHu6cFd8DcbeuBkTY2+rE+mVBqZIl1K3gxmlfFyr7zTi3egJ q3qMxsLqOwP0PVqQjIBYR+VF5PWO2lY/3vMWHdrX5u1KFD7mDOq0gs71duTmHHG9gHGE obRg== X-Forwarded-Encrypted: i=1; AHgh+RoBhlRE14j3D0OP7wJJm7sK7V3hMw2JydIUChrM5KGF0RWmZ/6Jx88DGB4s2owj3Y3OuZrAvMTuC/DgRmU=@vger.kernel.org X-Gm-Message-State: AFuF++mhrAc586cPIOmjZOTh0hqyUb1v2ngjGtPfAyVeRpzbhRqeJnJl v+VIrrYl6iHH3CRcXsBORmx1Ccn1c5e8TINSzoJgAP6YAUAH55iv3nqjGkixNEBo44n6dMwajQE wDmp2IqN2w4NpRrVD34lST871H3i+Cq4gfUiH/Ym4JRtzkIos0H0M X-Gm-Gg: AR+sD10NX6EFGDnnp0RTBXUan43cHh9A/CdwpuFWl3IOvUjsD6G5a2fS75KxNdWouYl PSVVCFRsGaXX7wQ/nhFRu2L4sE7MFawuTxd1N0j9cXiDfz/8pmuStEHVEw8z1Nl/nU58CqfUBGY 16u6FmGsX91J+Jl2lRoF5lHqSA1dpwvBD7z9hk/qI2Yb9DGvmHSAKYHcBMg1y4uzPuMaFPP62nW lckQwEESlSExDS4s77vKEwl/wqXouvMmUcX3nkg27JxOnox6Ct3ui1ctsW2flhLHJhO9UBjeiTb v654yRRFfWrFlQQ0sBwSkIkPntnPZtZJmVz5zSElTyVLY1vSMe1SWRLCAAA4jPUXpwgr2Hpp3uz JEHYe2vlMfodlnkw= X-Received: by 2002:a05:6a00:e17:b0:848:599f:26b with SMTP id d2e1a72fcca58-851fa02e749mr55039666b3a.14.1787612218302; Mon, 24 Aug 2026 15:56:58 -0700 (PDT) Received: from c7-smtp-2026.dev.purestorage.com ([2620:125:9017:12:36:3:6:0]) by smtp-relay.gmail.com with ESMTPS id d2e1a72fcca58-8521004aa47sm3970557b3a.0.2026.08.24.15.56.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 15:56:58 -0700 (PDT) X-Relaying-Domain: purestorage.com Received: from dev-sgogte.dev.purestorage.com (dev-sgogte.dev.purestorage.com [10.112.19.91]) by c7-smtp-2026.dev.purestorage.com (Postfix) with ESMTP id A1C2A402B2; Mon, 24 Aug 2026 16:56:57 -0600 (MDT) Received: by dev-sgogte.dev.purestorage.com (Postfix, from userid 1557734945) id 9CD0951D05; Mon, 24 Aug 2026 16:56:57 -0600 (MDT) From: Surabhi Gogte To: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, mkhalfella@purestorage.com, randyj@purestorage.com, adailey@purestorage.com, Surabhi Gogte Subject: [PATCH v2 0/2] nvme-tcp: parallelize I/O queue connect Date: Mon, 24 Aug 2026 16:56:46 -0600 Message-ID: <20260824225648.316962-1-sgogte@purestorage.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Similar to commit 2a8513091d2f ("nvme-rdma: parallelize I/O queue allocation and startup"), I/O queue allocation and start steps (including authentication) can be parallelized for nvme-tcp as well. Patch 1 is a preparatory refactor: it splits the queue-count negotiation and TLS PSK checks into helpers so that the individual steps can be called directly from nvme_tcp_configure_io_queues(). No functional change. Patch 2 has the async implementation: it fans the per-queue alloc and start out over an async domain, serializes the per-cpu queue-count in nvme_tcp_set_queue_io_cpu() that can now run concurrently, and switches sock_create_kern() to init_net. Testing on a 64-core host with 64 IO-queues shows nvme-tcp connection time reduced from 61ms to 11ms. --- v2: - Resending the entire series to fix missing numbering in the original patch 2 subject line. No functional code changes. --- Surabhi Gogte (2): nvme-tcp: refactor I/O queue setup path nvme-tcp: parallelize I/O queue allocation and startup drivers/nvme/host/tcp.c | 139 +++++++++++++++++++++++++++------------- 1 file changed, 93 insertions(+), 46 deletions(-) -- 2.55.0