Author: manu Date: Thu Nov 30 12:38:42 2017 New Revision: 326394 URL: https://svnweb.freebsd.org/changeset/base/326394
Log: devfs: Avoid a malloc/free if we just need to increment the refcount MFC after: 1 week Sponsored by: Gandi.net Modified: head/sys/fs/devfs/devfs_dir.c Modified: head/sys/fs/devfs/devfs_dir.c ============================================================================== --- head/sys/fs/devfs/devfs_dir.c Thu Nov 30 12:22:15 2017 (r326393) +++ head/sys/fs/devfs/devfs_dir.c Thu Nov 30 12:38:42 2017 (r326394) @@ -98,19 +98,18 @@ devfs_dir_ref(const char *dir) if (*dir == '\0') return; - dle_new = malloc(sizeof(*dle), M_DEVFS4, M_WAITOK); - dle_new->dir = strdup(dir, M_DEVFS4); - dle_new->refcnt = 1; - mtx_lock(&dirlist_mtx); dle = devfs_dir_findent_locked(dir); if (dle != NULL) { dle->refcnt++; mtx_unlock(&dirlist_mtx); - free(dle_new->dir, M_DEVFS4); - free(dle_new, M_DEVFS4); return; } + + dle_new = malloc(sizeof(*dle), M_DEVFS4, M_WAITOK); + dle_new->dir = strdup(dir, M_DEVFS4); + dle_new->refcnt = 1; + LIST_INSERT_HEAD(&devfs_dirlist, dle_new, link); mtx_unlock(&dirlist_mtx); } _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"