aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_devstat.c
diff options
context:
space:
mode:
authorKenneth D. Merry <ken@FreeBSD.org>2011-06-13 22:08:24 +0000
committerKenneth D. Merry <ken@FreeBSD.org>2011-06-13 22:08:24 +0000
commit094efe753d455b44d76c9f06a2e9e9114a4859b2 (patch)
tree15e5ed1216125016e87d67a3fccfcb341ac1efd1 /sys/kern/subr_devstat.c
parent27c959cf05617ed3cf56777f26f07fb0a5ebf67b (diff)
downloadsrc-094efe753d455b44d76c9f06a2e9e9114a4859b2.tar.gz
src-094efe753d455b44d76c9f06a2e9e9114a4859b2.zip
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
Notes
Notes: svn path=/head/; revision=223062
Diffstat (limited to 'sys/kern/subr_devstat.c')
-rw-r--r--sys/kern/subr_devstat.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c
index 402051fb8a83..eaf6427e962a 100644
--- a/sys/kern/subr_devstat.c
+++ b/sys/kern/subr_devstat.c
@@ -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);