Date: Sat, 14 Oct 2006 08:37:34 -0600 From: Scott Long <scottl@samsco.org> To: Bruce Evans <bde@zeta.org.au> Cc: fs@freebsd.org, mohans@freebsd.org Subject: Re: lost dotdot caching pessimizes nfs especially Message-ID: <4530F62E.20308@samsco.org> In-Reply-To: <20061014143825.F1264@epsplex.bde.org> References: <20061006050913.Y5250@epsplex.bde.org> <20061014143825.F1264@epsplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote: > On Fri, 6 Oct 2006, Bruce Evans wrote: > [...] > The last major pessimization is another silly one. The changes to > mark atimes on exec() and mmap() cause a silly null Setattr RPC for > every exec() (more for interprters?) and every mmap(). This is > easy to fix (almost) correctly. VOP_SETATTR() is assumed to do > nothing for requests that it doesn't understand, but nfs_setattr() > does null RPCs instead. The following fix: > > % diff -c2 ./nfsclient/nfs_vnops.c~ ./nfsclient/nfs_vnops.c > % *** ./nfsclient/nfs_vnops.c~ Sun Oct 8 23:08:57 2006 > % --- ./nfsclient/nfs_vnops.c Fri Oct 13 09:58:12 2006 > % *************** > % *** 669,675 **** > % % /* > % ! * Setting of flags is not supported. > % */ > % ! if (vap->va_flags != VNOVAL) > % return (EOPNOTSUPP); > % % --- 677,684 ---- > % % /* > % ! * Setting of flags and marking of atimes are not supported. > % */ > % ! if (vap->va_flags != VNOVAL || > % ! ((bdefix & 4) && (vap->va_vaflags & VA_MARK_ATIME))) > % return (EOPNOTSUPP); > % > > in addition to the removals gives the following improvement with > bdefix set to 7: > > 78.14 real 62.03 user 4.79 sys > Lookup Read Write Create Access Fsstat Other Total > 19556 2410 5353 442 19581 1738 14 49094 > > Bruce I've seen hints that the excessive null SETATTR calls also create unpredictable problems with some servers. Thanks a lot for tracking this down. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4530F62E.20308>