diff options
author | Kenneth D. Merry <ken@FreeBSD.org> | 2011-06-13 22:08:24 +0000 |
---|---|---|
committer | Kenneth D. Merry <ken@FreeBSD.org> | 2011-06-13 22:08:24 +0000 |
commit | 094efe753d455b44d76c9f06a2e9e9114a4859b2 (patch) | |
tree | 15e5ed1216125016e87d67a3fccfcb341ac1efd1 | |
parent | 27c959cf05617ed3cf56777f26f07fb0a5ebf67b (diff) |
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
-rw-r--r-- | sys/kern/subr_devstat.c | 8 |
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); |