-
Mike Hibler authored
Previously on MFMH: * Our hero added incremental kernel export updates to mountd so that a single update would finish within his lifetime, * Hero subsequently discovers that an incremental update still takes 8 seconds on the Emulab Mothership, * Hero discovers that remaining time is spent NOT in kernel operations or even complex calculations of orbital mechanics, but rather in simple parsing of text from a 1300 line file. * Hero gives up in despair. This week on MFMH: * Our revitalized hero applies gprof-fu to the problem and discovers that 7.9 seconds of the 8 second /etc/exports parse time is spent stat()ing /etc/nsswitch.conf 2,392,057 times. * "WtF!", exclaims our hero, "that is 27.3 stats for every text character in the file!" * Problem is traced to the fact that we do "-maproot=root" for each of the 1344 exports and every parse of that option looks up root in the password file and determines which ...
89fe803f