svn commit: r331245 - in head/sys: kern sys

Mark Johnston markj at FreeBSD.org
Tue Mar 20 15:51:06 UTC 2018


Author: markj
Date: Tue Mar 20 15:51:05 2018
New Revision: 331245
URL: https://svnweb.freebsd.org/changeset/base/331245

Log:
  Drop KTR_CONTENTION.
  
  It is incomplete, has not been adopted in the other locking primitives,
  and we have other means of measuring lock contention (lock_profiling,
  lockstat, KTR_LOCK). Drop it to slightly de-clutter the mutex code and
  free up a precious KTR class index.
  
  Reviewed by:	jhb, mjg
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D14771

Modified:
  head/sys/kern/kern_mutex.c
  head/sys/sys/ktr_class.h

Modified: head/sys/kern/kern_mutex.c
==============================================================================
--- head/sys/kern/kern_mutex.c	Tue Mar 20 15:44:17 2018	(r331244)
+++ head/sys/kern/kern_mutex.c	Tue Mar 20 15:51:05 2018	(r331245)
@@ -473,9 +473,6 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v)
 	struct turnstile *ts;
 	uintptr_t tid;
 	struct thread *owner;
-#ifdef KTR
-	int cont_logged = 0;
-#endif
 #ifdef LOCK_PROFILING
 	int contested = 0;
 	uint64_t waittime = 0;
@@ -629,17 +626,6 @@ retry_turnstile:
 		 */
 		mtx_assert(m, MA_NOTOWNED);
 
-#ifdef KTR
-		if (!cont_logged) {
-			CTR6(KTR_CONTENTION,
-			    "contention: %p at %s:%d wants %s, taken by %s:%d",
-			    (void *)tid, file, line, m->lock_object.lo_name,
-			    WITNESS_FILE(&m->lock_object),
-			    WITNESS_LINE(&m->lock_object));
-			cont_logged = 1;
-		}
-#endif
-
 		/*
 		 * Block on the turnstile.
 		 */
@@ -657,13 +643,6 @@ retry_turnstile:
 #endif
 		v = MTX_READ_VALUE(m);
 	}
-#ifdef KTR
-	if (cont_logged) {
-		CTR4(KTR_CONTENTION,
-		    "contention end: %s acquired by %p at %s:%d",
-		    m->lock_object.lo_name, (void *)tid, file, line);
-	}
-#endif
 #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING)
 	if (__predict_true(!doing_lockprof))
 		return;

Modified: head/sys/sys/ktr_class.h
==============================================================================
--- head/sys/sys/ktr_class.h	Tue Mar 20 15:44:17 2018	(r331244)
+++ head/sys/sys/ktr_class.h	Tue Mar 20 15:51:05 2018	(r331245)
@@ -65,7 +65,7 @@
 #define	KTR_VM		0x00100000		/* The virtual memory system */
 #define	KTR_INET	0x00200000		/* IPv4 stack */
 #define	KTR_RUNQ	0x00400000		/* Run queue */
-#define	KTR_CONTENTION	0x00800000		/* Lock contention */
+#define	KTR_SPARE5	0x00800000
 #define	KTR_UMA		0x01000000		/* UMA slab allocator */
 #define	KTR_CALLOUT	0x02000000		/* Callouts and timeouts */
 #define	KTR_GEOM	0x04000000		/* GEOM I/O events */


More information about the svn-src-head mailing list