Date: Tue, 19 Aug 2008 22:38:25 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 147847 for review Message-ID: <200808192238.m7JMcPJU021366@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=147847 Change 147847 by jb@freebsd3 on 2008/08/19 22:38:19 Add some probes for successful stat()s without having to trigger on all stat()s because a lot are for files that don't exist and we contribute to global warming if we trigger on those. Affected files ... .. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#26 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#26 (text+ko) ==== @@ -90,6 +90,7 @@ SDT_PROBE_ARGTYPE(vfs, , stat, mode, 1, "int"); SDT_PROBE_DEFINE(vfs, , stat, reg); SDT_PROBE_ARGTYPE(vfs, , stat, reg, 0, "char *"); +SDT_PROBE_ARGTYPE(vfs, , stat, reg, 1, "int"); static int chroot_refuse_vdir_fds(struct filedesc *fdp); static int getutimes(const struct timeval *, enum uio_seg, struct timespec *); @@ -2341,6 +2342,11 @@ return (error); vfslocked = NDHASGIANT(&nd); error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); + if (!error) { + SDT_PROBE(vfs, , stat, mode, path, sb.st_mode, 0, 0, 0); + if (S_ISREG(sb.st_mode)) + SDT_PROBE(vfs, , stat, reg, path, pathseg, 0, 0, 0); + } NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_vp); VFS_UNLOCK_GIANT(vfslocked); @@ -2353,10 +2359,6 @@ if (KTRPOINT(td, KTR_STRUCT)) ktrstat(&sb); #endif - SDT_PROBE(vfs, , stat, mode, path, sb.st_mode, 0, 0, 0); - if (S_ISREG(sb.st_mode)) { - SDT_PROBE(vfs, , stat, reg, path, 0, 0, 0, 0); - } return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808192238.m7JMcPJU021366>