Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jun 2013 05:25:13 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r252092 - stable/8/sys/dev/coretemp
Message-ID:  <201306220525.r5M5PDDG088245@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Sat Jun 22 05:25:12 2013
New Revision: 252092
URL: http://svnweb.freebsd.org/changeset/base/252092

Log:
  MFC r246951:
  Mark the coretemp(4) sysctls as MPSAFE, ensuring that Giant won't be held
  unnecessarily by a user thread waiting to run on a specific CPU after
  calling sched_bind().

Modified:
  stable/8/sys/dev/coretemp/coretemp.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/dev/   (props changed)
  stable/8/sys/dev/coretemp/   (props changed)

Modified: stable/8/sys/dev/coretemp/coretemp.c
==============================================================================
--- stable/8/sys/dev/coretemp/coretemp.c	Sat Jun 22 05:24:29 2013	(r252091)
+++ stable/8/sys/dev/coretemp/coretemp.c	Sat Jun 22 05:25:12 2013	(r252092)
@@ -274,23 +274,23 @@ coretemp_attach(device_t dev)
 	 * Add the MIBs to dev.cpu.N and dev.cpu.N.coretemp.
 	 */
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(device_get_sysctl_tree(pdev)),
-	    OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD, dev,
-	    CORETEMP_TEMP, coretemp_get_val_sysctl, "IK",
+	    OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE,
+	    dev, CORETEMP_TEMP, coretemp_get_val_sysctl, "IK",
 	    "Current temperature");
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "delta",
-	    CTLTYPE_INT | CTLFLAG_RD, dev, CORETEMP_DELTA,
+	    CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, CORETEMP_DELTA,
 	    coretemp_get_val_sysctl, "I",
 	    "Delta between TCC activation and current temperature");
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "resolution",
-	    CTLTYPE_INT | CTLFLAG_RD, dev, CORETEMP_RESOLUTION,
+	    CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, CORETEMP_RESOLUTION,
 	    coretemp_get_val_sysctl, "I",
 	    "Resolution of CPU thermal sensor");
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "tjmax",
-	    CTLTYPE_INT | CTLFLAG_RD, dev, CORETEMP_TJMAX,
+	    CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, CORETEMP_TJMAX,
 	    coretemp_get_val_sysctl, "IK",
 	    "TCC activation temperature");
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO,
-	    "throttle_log", CTLTYPE_INT | CTLFLAG_RW, dev, 0,
+	    "throttle_log", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, 0,
 	    coretemp_throttle_log_sysctl, "I",
 	    "Set to 1 if the thermal sensor has tripped");
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306220525.r5M5PDDG088245>