Module Name:    src
Committed By:   jruoho
Date:           Fri Aug 13 18:44:24 UTC 2010

Modified Files:
        src/sys/arch/x86/acpi: acpi_cpu_md.c
        src/sys/dev/acpi: acpi_cpu_pstate.c acpi_cpu_tstate.c

Log Message:
Remove some unnecessary locking. Mainly a leftover from previous revisions
where the dynamic maximum/minimum was used also when retrieving the current
state. The state-array itself changes only in C-states.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/x86/acpi/acpi_cpu_md.c
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/acpi/acpi_cpu_pstate.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/acpi_cpu_tstate.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/x86/acpi/acpi_cpu_md.c
diff -u src/sys/arch/x86/acpi/acpi_cpu_md.c:1.10 src/sys/arch/x86/acpi/acpi_cpu_md.c:1.11
--- src/sys/arch/x86/acpi/acpi_cpu_md.c:1.10	Fri Aug 13 16:21:50 2010
+++ src/sys/arch/x86/acpi/acpi_cpu_md.c	Fri Aug 13 18:44:24 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_md.c,v 1.10 2010/08/13 16:21:50 jruoho Exp $ */
+/* $NetBSD: acpi_cpu_md.c,v 1.11 2010/08/13 18:44:24 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi>
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_md.c,v 1.10 2010/08/13 16:21:50 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_md.c,v 1.11 2010/08/13 18:44:24 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -430,8 +430,6 @@
 		val = rdmsr(MSR_PERF_STATUS);
 		val = val & 0xffff;
 
-		mutex_enter(&sc->sc_mtx);
-
 		for (i = 0; i < sc->sc_pstate_count; i++) {
 
 			ps = &sc->sc_pstate[i];
@@ -440,14 +438,11 @@
 				continue;
 
 			if (val == ps->ps_status) {
-				mutex_exit(&sc->sc_mtx);
 				*freq = ps->ps_freq;
 				return 0;
 			}
 		}
 
-		mutex_exit(&sc->sc_mtx);
-
 		return EIO;
 
 	default:
@@ -507,8 +502,6 @@
 	if (rv != 0)
 		return rv;
 
-	mutex_enter(&sc->sc_mtx);
-
 	for (i = 0; i < sc->sc_tstate_count; i++) {
 
 		ts = &sc->sc_tstate[i];
@@ -517,14 +510,11 @@
 			continue;
 
 		if (val == ts->ts_control || val == ts->ts_status) {
-			mutex_exit(&sc->sc_mtx);
 			*percent = ts->ts_percent;
 			return 0;
 		}
 	}
 
-	mutex_exit(&sc->sc_mtx);
-
 	return EIO;
 }
 

Index: src/sys/dev/acpi/acpi_cpu_pstate.c
diff -u src/sys/dev/acpi/acpi_cpu_pstate.c:1.15 src/sys/dev/acpi/acpi_cpu_pstate.c:1.16
--- src/sys/dev/acpi/acpi_cpu_pstate.c:1.15	Fri Aug 13 16:21:50 2010
+++ src/sys/dev/acpi/acpi_cpu_pstate.c	Fri Aug 13 18:44:24 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_pstate.c,v 1.15 2010/08/13 16:21:50 jruoho Exp $ */
+/* $NetBSD: acpi_cpu_pstate.c,v 1.16 2010/08/13 18:44:24 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi>
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_pstate.c,v 1.15 2010/08/13 16:21:50 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_pstate.c,v 1.16 2010/08/13 18:44:24 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/evcnt.h>
@@ -241,11 +241,9 @@
 	sc = device_private(self);
 
 	mutex_enter(&sc->sc_mtx);
-
 	old = sc->sc_pstate_max;
 	acpicpu_pstate_change(sc);
 	new = sc->sc_pstate_max;
-
 	mutex_exit(&sc->sc_mtx);
 
 	if (old != new) {
@@ -595,8 +593,6 @@
 			goto fail;
 		}
 
-		mutex_enter(&sc->sc_mtx);
-
 		for (i = 0; i < sc->sc_pstate_count; i++) {
 
 			if (sc->sc_pstate[i].ps_freq == 0)
@@ -608,8 +604,6 @@
 			}
 		}
 
-		mutex_exit(&sc->sc_mtx);
-
 		if (__predict_false(ps == NULL)) {
 			rv = EIO;
 			goto fail;
@@ -727,9 +721,8 @@
 		goto fail;
 	}
 
-	ps->ps_evcnt.ev_count++;
-
 	mutex_enter(&sc->sc_mtx);
+	ps->ps_evcnt.ev_count++;
 	sc->sc_pstate_current = freq;
 	mutex_exit(&sc->sc_mtx);
 

Index: src/sys/dev/acpi/acpi_cpu_tstate.c
diff -u src/sys/dev/acpi/acpi_cpu_tstate.c:1.1 src/sys/dev/acpi/acpi_cpu_tstate.c:1.2
--- src/sys/dev/acpi/acpi_cpu_tstate.c:1.1	Fri Aug 13 16:21:50 2010
+++ src/sys/dev/acpi/acpi_cpu_tstate.c	Fri Aug 13 18:44:24 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_tstate.c,v 1.1 2010/08/13 16:21:50 jruoho Exp $ */
+/* $NetBSD: acpi_cpu_tstate.c,v 1.2 2010/08/13 18:44:24 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi>
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.1 2010/08/13 16:21:50 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.2 2010/08/13 18:44:24 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -655,8 +655,6 @@
 
 		val = (val >> offset) & 0x0F;
 
-		mutex_enter(&sc->sc_mtx);
-
 		for (i = 0; i < sc->sc_tstate_count; i++) {
 
 			if (sc->sc_tstate[i].ts_percent == 0)
@@ -677,8 +675,6 @@
 			}
 		}
 
-		mutex_exit(&sc->sc_mtx);
-
 		if (__predict_false(ts == NULL)) {
 			rv = EIO;
 			goto fail;
@@ -816,9 +812,8 @@
 		goto fail;
 	}
 
-	ts->ts_evcnt.ev_count++;
-
 	mutex_enter(&sc->sc_mtx);
+	ts->ts_evcnt.ev_count++;
 	sc->sc_tstate_current = percent;
 	mutex_exit(&sc->sc_mtx);
 

Reply via email to