Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Jun 2011 22:08:24 +0000 (UTC)
From:      "Kenneth D. Merry" <ken@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r223062 - head/sys/kern
Message-ID:  <201106132208.p5DM8OZ1000930@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ken
Date: Mon Jun 13 22:08:24 2011
New Revision: 223062
URL: http://svn.freebsd.org/changeset/base/223062

Log:
  Instead of using an atomic operation to determine whether the devstat(9)
  device node has been created, pass MAKEDEV_CHECKNAME in so that the devfs
  code will do the check.
  
  Use a regular static variable as before, that's good enough to keep us from
  calling into devfs most of the time.
  
  Suggested by:	kib
  MFC after:	1 week
  Sponsored by:	Spectra Logic Corporation

Modified:
  head/sys/kern/subr_devstat.c

Modified: head/sys/kern/subr_devstat.c
==============================================================================
--- head/sys/kern/subr_devstat.c	Mon Jun 13 21:21:02 2011	(r223061)
+++ head/sys/kern/subr_devstat.c	Mon Jun 13 22:08:24 2011	(r223062)
@@ -470,9 +470,11 @@ devstat_alloc(void)
 	static int once;
 
 	mtx_assert(&devstat_mutex, MA_NOTOWNED);
-	if (!once && atomic_cmpset_int(&once, 0, 1)) {
-		make_dev_credf(MAKEDEV_ETERNAL, &devstat_cdevsw, 0, NULL,
-		    UID_ROOT, GID_WHEEL, 0400, DEVSTAT_DEVICE_NAME);
+	if (!once) {
+		make_dev_credf(MAKEDEV_ETERNAL | MAKEDEV_CHECKNAME,
+		    &devstat_cdevsw, 0, NULL, UID_ROOT, GID_WHEEL, 0400,
+		    DEVSTAT_DEVICE_NAME);
+		once = 1;
 	}
 	spp2 = NULL;
 	mtx_lock(&devstat_mutex);



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