Date: Thu, 6 Nov 2014 07:44:10 +0000 (UTC) From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r274166 - head/sys/kern Message-ID: <201411060744.sA67iAT3093477@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411060744.sA67iAT3093477>