From nobody Wed Apr 30 17:21:38 2025 X-Original-To: dev-commits-src-branches@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 4ZnkW70wpxz5tj1q; Wed, 30 Apr 2025 17:21:39 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZnkW631Klz3Lvt; Wed, 30 Apr 2025 17:21:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746033698; 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=6U4AkcDoPKLm1+YbeH6SFijtnpGr7E4KOb25NNcGFaM=; b=BRXT8MbIS40qaIqOd9b9lX2ezAZYzeE1ktMjflnPVtRXfDCzLdNytDlNncit1lH+PRz/7q aXqv7DKOBaMGim65kRJCSViV5vZfbj9bAI4ixUVYK56ak+VBR6nPBg9PMNzant6dnyJnJM lCCyUNSijGJbdpexAtcN0wK67rYqcnv7u/52cfjXoP4WpBfmlqPVDAzasO2Ed6C5g23RrQ STjsoLS0MHAsYT5Gm1QfA8/KTxyQkTdP17tFEFXUST0JyXWIApTEGTeEr93nBfq3INoNOC VijoQeEVWn0Hl20IqitM5RPJwjTqTadZzjy+49GpM6Z/Qld7g23+mya1DWVsqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746033698; a=rsa-sha256; cv=none; b=b2rxJq3f/s+i95Wv+sfUEDw6l3bBS6+ZSKMXR+V/RI444co/iI3wZDn21rgrXUVDneWc3A pOerdnlFCwdrvonFJVG/W19U67W3GH39sUzdrVMRjuIdv1/AthCY5JOq8XrLuITQ4AN/2F /8yG/HjInSOBrx2hWp7zdmTC1HSCqk36b8Y0V9+t9L6jy8lEOCVVjqEfhSvaJkvQb8FK81 3x5FN3S2e6y/oXSzHhv5Yr33PAZpd9psXDpsiNG6LA2bPx6YLMTPzrc1ox/tHi0iRTLfh0 ZqJfiPRzNN46pKDms6H6XxXt8Rxb4HDVvgrp6hpWrvX8dYuqdvnAUq2WumsLjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746033698; 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=6U4AkcDoPKLm1+YbeH6SFijtnpGr7E4KOb25NNcGFaM=; b=CO25ugZKVUzGuTTXbEK+6yNOQptRC3CnKjkv0VWYWy59pKn1u+vQl4rZRM7AIvVIVXsRlf YuJHaAY+ZoUP8Um9GWYEocjXTFfOWv2xcjhLhqdNSS3v3KlmH5U5PBGJ70l+EFaXueFaYr VIHb7V0a3WGjaJt4mNm3q6vo4tG56S+NsB7VJvOrULv36B03ZaVnX+v88XmVuOj9NtIyhv 1kEaezl7mzPF28GRMJJqLZUau/GgYvJ5xHP7h640OTujhhKZhzhJDjKV54jLY/IjHdUD1s yPjJWJJIpF5P5CK81nMqTdi/1fyPUr7jS4+oJjwJYG7sB0iWiV1GfgA/aeo0mg== 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 4ZnkW61x4YzRG; Wed, 30 Apr 2025 17:21:38 +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 53UHLcp5093574; Wed, 30 Apr 2025 17:21:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53UHLcIP093571; Wed, 30 Apr 2025 17:21:38 GMT (envelope-from git) Date: Wed, 30 Apr 2025 17:21:38 GMT Message-Id: <202504301721.53UHLcIP093571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: d22c5b277ae4 - stable/14 - mpi3mr: Decrement per controller and per target counter post reset List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d22c5b277ae412c5bb21d5badbdf4e2901d6a189 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d22c5b277ae412c5bb21d5badbdf4e2901d6a189 commit d22c5b277ae412c5bb21d5badbdf4e2901d6a189 Author: Chandrakanth patil AuthorDate: 2024-03-14 18:12:49 +0000 Commit: Warner Losh CommitDate: 2025-04-30 17:05:51 +0000 mpi3mr: Decrement per controller and per target counter post reset Post controller reset, If any device removal events arrive, and if there are any outstanding IOs then the driver will unnecessarily wait in the loop for 30 seconds before removing the device from the OS. reset target outstanding IO counter and controller outstanding IO counter and remove the redundant wait loop. Reviewed by: imp Approved by: imp Differential revision: https://reviews.freebsd.org/D44424 (cherry picked from commit 571f1d0638fa6b3a08f84118a33e53f941f0820c) --- sys/dev/mpi3mr/mpi3mr.c | 2 ++ sys/dev/mpi3mr/mpi3mr_cam.c | 12 ------------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/sys/dev/mpi3mr/mpi3mr.c b/sys/dev/mpi3mr/mpi3mr.c index a5f4215f29ca..ab17ea4e2692 100644 --- a/sys/dev/mpi3mr/mpi3mr.c +++ b/sys/dev/mpi3mr/mpi3mr.c @@ -5693,6 +5693,8 @@ static void mpi3mr_flush_io(struct mpi3mr_softc *sc) if (cmd->callout_owner) { ccb = (union ccb *)(cmd->ccb); ccb->ccb_h.status = CAM_SCSI_BUS_RESET; + mpi3mr_atomic_dec(&sc->fw_outstanding); + mpi3mr_atomic_dec(&cmd->targ->outstanding); mpi3mr_cmd_done(sc, cmd); } else { cmd->ccb = NULL; diff --git a/sys/dev/mpi3mr/mpi3mr_cam.c b/sys/dev/mpi3mr/mpi3mr_cam.c index 6d9869e74235..c4e08b399712 100644 --- a/sys/dev/mpi3mr/mpi3mr_cam.c +++ b/sys/dev/mpi3mr/mpi3mr_cam.c @@ -1803,7 +1803,6 @@ out: int mpi3mr_remove_device_from_os(struct mpi3mr_softc *sc, U16 handle) { - U32 i = 0; int retval = 0; struct mpi3mr_target *target; @@ -1834,17 +1833,6 @@ int mpi3mr_remove_device_from_os(struct mpi3mr_softc *sc, U16 handle) target->per_id); } - while (mpi3mr_atomic_read(&target->outstanding) && (i < 30)) { - i++; - if (!(i % 2)) { - mpi3mr_dprint(sc, MPI3MR_INFO, - "[%2d]waiting for " - "waiting for outstanding commands to complete on target: %d\n", - i, target->per_id); - } - DELAY(1000 * 1000); - } - if (target->exposed_to_os && !sc->reset_in_progress) { mpi3mr_rescan_target(sc, target); mpi3mr_dprint(sc, MPI3MR_INFO,