svn commit: r274166 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Thu Nov 6 07:44:11 UTC 2014
Author: mjg
Date: Thu Nov 6 07:44:10 2014
New Revision: 274166
URL: https://svnweb.freebsd.org/changeset/base/274166
Log:
filedesc: avoid taking fdesc_mtx when not necessary in fddrop
No functional changes.
Modified:
head/sys/kern/kern_descrip.c
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Thu Nov 6 07:37:31 2014 (r274165)
+++ head/sys/kern/kern_descrip.c Thu Nov 6 07:44:10 2014 (r274166)
@@ -1859,11 +1859,13 @@ fddrop(struct filedesc *fdp)
{
int i;
- mtx_lock(&fdesc_mtx);
- i = --fdp->fd_holdcnt;
- mtx_unlock(&fdesc_mtx);
- if (i > 0)
- return;
+ if (fdp->fd_holdcnt > 1) {
+ mtx_lock(&fdesc_mtx);
+ i = --fdp->fd_holdcnt;
+ mtx_unlock(&fdesc_mtx);
+ if (i > 0)
+ return;
+ }
FILEDESC_LOCK_DESTROY(fdp);
uma_zfree(filedesc0_zone, fdp);
More information about the svn-src-all
mailing list