From nobody Tue Jul 22 04:00:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bmNpq2HxVz62NVd; Tue, 22 Jul 2025 04:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bmNpq1lKQz3cCh; Tue, 22 Jul 2025 04:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753156851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WFMVTLPDkXmpi1YHNEL18rudzZ++MslieAh5KOtu/wk=; b=NkqaLyNz6UZuXLDgCB+ASmklPe+kaJzQbTWt3JdNSHlZs6oibLfIchd7OXcef78PNb47af ig4T1HhotDsWmV9UbdwYOLukoGJnpo/fMyuclaH13idIlEHdxe47FTHpY/3HPMAP4Bip0w WEvz2AW/BWgDKrsN9KMTdZo7NsjR6smcbmWgCfHTFuM2h96Q8lBJSl2YGJHBsPafCGh0nK 9Vf4VUOIaBE0hxSg2tMi5KghIWlrmi32d0l9qxISb7wlE/fl/jch//YML/vbbenrUV8YDL qtEuo+Hw4eGNJ1t3m6f4w9Gtn5na9NgioHrC2oMzgBhSsDpshsis1BzHoWK/fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753156851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WFMVTLPDkXmpi1YHNEL18rudzZ++MslieAh5KOtu/wk=; b=ucMoLB+wJFOQmFfBed21On2o5hyL7nY0wGq11yJI0KZzbyXUflcBtip+IB4NGa6+TIaPsc RqIbT2kpwLkkFQiYfqkf2kA4pOAx2J7fvSivAIURP2WZwHBzHYqmOhK3wFFnb0t7z39c2v JV7N2wDB+uZBzB8hDis1P/K/r58PaWJE8in8Z8NhrKaOJg3O5rkbc9d80V+Sj3Cf14QN/B FZFGvBlKTFvud98iNIcplAnnNlrpcanx1wjuDOnWuSDsSaMpA2isBPZ/pX38d6hnBF9Po+ 3yC2aTiWUvV0FX3BMq7+8firAmcZGlETVFuZqRCp/Drfci5w5nZpUyzhMxq8fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1753156851; a=rsa-sha256; cv=none; b=vs1MbdFc+rsPADVf++SH6Q+ZKzul8DeQFisAjI2O8LN31RbDUyRGH5q0tDOTSC5yiAxWXm 6XEH7/RulLBqemxGjb4lLwhVy0xQy3sx/kuvV9Y8ht2+jw3OhkhnnPSAXUKuLVOaXXKarV QitmjRSANDXIWsE5kIaB8ztD6A+Kq70A2w6P0f2rufMdkpK7JoTcMCAW6M+F7u2xCvw1To n0AbMS1h7f9+8ME/yb6kD5KNez8Hq1STJAcv1oVaAx+hO1sTtdgEo00diqEuVDPad5zyKE 2BRL5bYqAXLRn2APunJ3ykXLAc+cD3xT7eiL/yfph9AOuLxAmu+/FTfNUUinRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bmNpq0qflz1Q7Z; Tue, 22 Jul 2025 04:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56M40oVV032409; Tue, 22 Jul 2025 04:00:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56M40o5W032406; Tue, 22 Jul 2025 04:00:50 GMT (envelope-from git) Date: Tue, 22 Jul 2025 04:00:50 GMT Message-Id: <202507220400.56M40o5W032406@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 35b2e888ef0f - main - nvme: Finish removing failed request queue List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35b2e888ef0f69ebfdca37f3741846f1ed82f657 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=35b2e888ef0f69ebfdca37f3741846f1ed82f657 commit 35b2e888ef0f69ebfdca37f3741846f1ed82f657 Author: Warner Losh AuthorDate: 2025-07-18 20:52:36 +0000 Commit: Warner Losh CommitDate: 2025-07-22 04:00:33 +0000 nvme: Finish removing failed request queue Remove the failed request queue, it's been unused since bc85cd303c44 when we removed the last function that referenced it. Also adjust the comment for the reset taskqueue. We still start 2 threads. Sponsored by: Netflix --- sys/dev/nvme/nvme_ctrlr.c | 10 ++-------- sys/dev/nvme/nvme_private.h | 2 -- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 73a7cee4aad0..c86316337e93 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -1574,13 +1574,8 @@ nvme_ctrlr_construct(struct nvme_controller *ctrlr, device_t dev) /* * Create 2 threads for the taskqueue. The reset thread will block when * it detects that the controller has failed until all I/O has been - * failed up the stack. The fail_req task needs to be able to run in - * this case to finish the request failure for some cases. - * - * We could partially solve this race by draining the failed requeust - * queue before proceding to free the sim, though nothing would stop - * new I/O from coming in after we do that drain, but before we reach - * cam_sim_free, so this big hammer is used instead. + * failed up the stack. The second thread used to be for failing + * requests. */ ctrlr->taskqueue = taskqueue_create("nvme_taskq", M_WAITOK, taskqueue_thread_enqueue, &ctrlr->taskqueue); @@ -1590,7 +1585,6 @@ nvme_ctrlr_construct(struct nvme_controller *ctrlr, device_t dev) ctrlr->is_initialized = false; ctrlr->notification_sent = 0; TASK_INIT(&ctrlr->reset_task, 0, nvme_ctrlr_reset_task, ctrlr); - STAILQ_INIT(&ctrlr->fail_req); ctrlr->is_failed = false; make_dev_args_init(&md_args); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index 949e69ec9290..0340b13b7de5 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -307,8 +307,6 @@ struct nvme_controller { bool isr_warned; bool is_initialized; - STAILQ_HEAD(, nvme_request) fail_req; - /* Host Memory Buffer */ int hmb_nchunks; size_t hmb_chunk;