svn commit: r246951 - head/sys/dev/coretemp

Mark Johnston markj at FreeBSD.org
Mon Feb 18 22:47:17 UTC 2013


Author: markj
Date: Mon Feb 18 22:47:16 2013
New Revision: 246951
URL: http://svnweb.freebsd.org/changeset/base/246951

Log:
  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().
  
  Reviewed by:	rstone
  Approved by:	emaste (co-mentor)
  Sponsored by:	Sandvine Incorporated
  MFC after:	1 week

Modified:
  head/sys/dev/coretemp/coretemp.c

Modified: head/sys/dev/coretemp/coretemp.c
==============================================================================
--- head/sys/dev/coretemp/coretemp.c	Mon Feb 18 22:03:04 2013	(r246950)
+++ head/sys/dev/coretemp/coretemp.c	Mon Feb 18 22:47:16 2013	(r246951)
@@ -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");
 


More information about the svn-src-all mailing list