Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Dec 2014 17:36:10 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r275372 - head/sys/kern
Message-ID:  <201412011736.sB1HaABc057631@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Mon Dec  1 17:36:10 2014
New Revision: 275372
URL: https://svnweb.freebsd.org/changeset/base/275372

Log:
  Disable recursion for the process spinlock.
  
  Tested by:	pho
  Discussed with:	jhb
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 month

Modified:
  head/sys/kern/kern_mutex.c
  head/sys/kern/kern_proc.c

Modified: head/sys/kern/kern_mutex.c
==============================================================================
--- head/sys/kern/kern_mutex.c	Mon Dec  1 16:10:44 2014	(r275371)
+++ head/sys/kern/kern_mutex.c	Mon Dec  1 17:36:10 2014	(r275372)
@@ -968,7 +968,7 @@ mutex_init(void)
 	mtx_init(&blocked_lock, "blocked lock", NULL, MTX_SPIN);
 	blocked_lock.mtx_lock = 0xdeadc0de;	/* Always blocked. */
 	mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK);
-	mtx_init(&proc0.p_slock, "process slock", NULL, MTX_SPIN | MTX_RECURSE);
+	mtx_init(&proc0.p_slock, "process slock", NULL, MTX_SPIN);
 	mtx_init(&proc0.p_statmtx, "pstatl", NULL, MTX_SPIN);
 	mtx_init(&proc0.p_itimmtx, "pitiml", NULL, MTX_SPIN);
 	mtx_init(&proc0.p_profmtx, "pprofl", NULL, MTX_SPIN);

Modified: head/sys/kern/kern_proc.c
==============================================================================
--- head/sys/kern/kern_proc.c	Mon Dec  1 16:10:44 2014	(r275371)
+++ head/sys/kern/kern_proc.c	Mon Dec  1 17:36:10 2014	(r275372)
@@ -227,7 +227,7 @@ proc_init(void *mem, int size, int flags
 	p->p_sched = (struct p_sched *)&p[1];
 	bzero(&p->p_mtx, sizeof(struct mtx));
 	mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK);
-	mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN | MTX_RECURSE);
+	mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN);
 	mtx_init(&p->p_statmtx, "pstatl", NULL, MTX_SPIN);
 	mtx_init(&p->p_itimmtx, "pitiml", NULL, MTX_SPIN);
 	mtx_init(&p->p_profmtx, "pprofl", NULL, MTX_SPIN);



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