From nobody Sat Apr 25 16:29:53 2026 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 4g2wKF3WjBz6bmDq for ; Sat, 25 Apr 2026 16:29:53 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g2wKF148wz44WD for ; Sat, 25 Apr 2026 16:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777134593; 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: content-transfer-encoding:content-transfer-encoding; bh=fDWZ0lHfZDlgHGVYidKbPr4rA/W6oG02iaVzbP/FTGg=; b=I0CvYy+86wc4/6sxAUmNBlwi5PuKaWzMgiZBAUgZq287g3X0DM8VhMmkaI9dLKcxMq2atg FhqT2/ob/jukViUyPY9QcqGfcXoh83keaw9pssEuKS586dmd8WDlaCUoj1NE4/0jvEnkcV P5FSHjIlQPKFPidN53Wvv/BQrWFrh+EVOxRNp3DbNFSGfoVCnupY+s/MYj32F20kdbxTEp uKQPNhnvZNYLP5DuyAFqg2foZLMRoZkKyoPm3DYVzcVM7OJak6wiOSB3PqUvT+QglGfMnh PI/zN11DzQGPX/eS7XKZa/zchFv8XJ3FSfe4HqbYVYbSPbGKQCOOCoLweS48dQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777134593; a=rsa-sha256; cv=none; b=m6x/TLeVeC37PzjQTsBnwRTXH8N15AT0Z7zA7XXDmJnugPcQB+nKRoiBc7RucHPLKod3sW 6vu37Ctk4XpJX6Iz4Ztc7Zu+trQYVKvBt1j0kg1X7l71W/IdZzkA9AkCfHvG5lC3WLdsCL iXs0YXfGwLSGsn9YfB7I0j6sgNPgHWgTZw2M+60qRp4vox3vzuia4fBzwj1ixrhSPBGokW HhNrpS2RrvceLV1Flnyz3tLyWaEhEPiI9bG36R5sRRWfs/3A9bKo7/jk1O3xxg6MgzEE86 oXa45wZ4h8Qej+/lLJRVf3hidBkVL4gEuyECCOaA2eZrGaLmj9Y0lLLab8nVuQ== 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=1777134593; 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: content-transfer-encoding:content-transfer-encoding; bh=fDWZ0lHfZDlgHGVYidKbPr4rA/W6oG02iaVzbP/FTGg=; b=tUOtGO4jc9RPbqMSUpgwXnDEO/U8h0S0zbNYeAzue6PmnsbDMrzZeTCrh12Z9igECqJncO htSnj5Pf0NDp79ZIptvUv0kPH2rY6DEhQPhXSpWZ+1GJIOpaEvw9D/l9Ml+4B0O/t/OtUS 8ueeNIID7D8iNw5vTe+EeIqgeKX6O0bjeTHuNma/d4BrTppIlydwp/3HsbW8lKtdDHxdOj h0qSL9PLsLwBj31y1/sT55/1mwEq/i8RnY2+uPnGi6B3tByRGcP59+nWGuM8qr3NaP2R5K XMVe92lYAHhtMl5ODwt4FmGXNQJqx8dIkCSamvJYmyfCzKtZyl9fIrsrn/dfcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g2wKF0KjFzj0x for ; Sat, 25 Apr 2026 16:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4499d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 25 Apr 2026 16:29:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Abdelkader Boudih From: Enji Cooper Subject: git: 16c9bce6ae12 - stable/15 - asmc: Convert driver to CTLFLAG_MPSAFE 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 16c9bce6ae1295d8068d2f1ac7db51965ee6f81d Auto-Submitted: auto-generated Date: Sat, 25 Apr 2026 16:29:53 +0000 Message-Id: <69ecec01.4499d.638e4ed7@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=16c9bce6ae1295d8068d2f1ac7db51965ee6f81d commit 16c9bce6ae1295d8068d2f1ac7db51965ee6f81d Author: Abdelkader Boudih AuthorDate: 2026-02-13 03:00:22 +0000 Commit: Enji Cooper CommitDate: 2026-04-25 16:29:40 +0000 asmc: Convert driver to CTLFLAG_MPSAFE Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all sysctls. The driver already uses spin mutexes (sc->sc_mtx) for hardware access protection and does not require the Giant lock. This improves scalability by allowing concurrent sysctl access without Giant serialization. Reviewed by: ngie, adrian Differential Revision: https://reviews.freebsd.org/D54613 (cherry picked from commit 1a6bdd6266e3b53c8b6b597a77a100353b7ae13a) --- sys/dev/asmc/asmc.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 3bbe9457dd72..a2357f873ccc 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -700,49 +700,49 @@ asmc_attach(device_t dev) SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "id", - CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, model->smc_fan_id, "I", "Fan ID"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "speed", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, model->smc_fan_speed, "I", "Fan speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "safespeed", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, j, model->smc_fan_safespeed, "I", "Fan safe speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "minspeed", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, model->smc_fan_minspeed, "I", "Fan minimum speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "maxspeed", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, model->smc_fan_maxspeed, "I", "Fan maximum speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "targetspeed", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, model->smc_fan_targetspeed, "I", "Fan target speed in RPM"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_fan_tree[i]), OID_AUTO, "manual", - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, j, asmc_mb_sysctl_fanmanual, "I", "Fan manual mode (0=auto, 1=manual)"); } @@ -758,7 +758,7 @@ asmc_attach(device_t dev) SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_temp_tree), OID_AUTO, model->smc_tempnames[i], - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, i, asmc_temp_sysctl, "I", model->smc_tempdescs[i]); } @@ -775,14 +775,14 @@ asmc_attach(device_t dev) SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "left", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, model->smc_light_left, "I", "Keyboard backlight left sensor"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "right", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, model->smc_light_right, "I", "Keyboard backlight right sensor"); @@ -790,7 +790,7 @@ asmc_attach(device_t dev) SYSCTL_CHILDREN(sc->sc_light_tree), OID_AUTO, "control", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_ANYBODY | - CTLFLAG_NEEDGIANT, dev, 0, + CTLFLAG_MPSAFE, dev, 0, model->smc_light_control, "I", "Keyboard backlight brightness control"); } @@ -808,21 +808,21 @@ asmc_attach(device_t dev) SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "x", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, model->smc_sms_x, "I", "Sudden Motion Sensor X value"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "y", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, model->smc_sms_y, "I", "Sudden Motion Sensor Y value"); SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sc->sc_sms_tree), OID_AUTO, "z", - CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0, model->smc_sms_z, "I", "Sudden Motion Sensor Z value");