cvs commit: src/sys/kern vfs_vnops.c

Bruce Evans bde at FreeBSD.org
Fri Mar 12 18:56:29 PST 2004


bde         2004/03/12 18:56:28 PST

  FreeBSD src repository

  Modified files:
    sys/kern             vfs_vnops.c 
  Log:
  Align the offset in vn_rdwr_inchunks() so that at most the first and
  the last chunk are misaligned relative to a MAXBSIZE byte boundary.
  vn_rdwr_inchunks() is used mainly for elf core dumps, and elf sections
  are usually perfectly misaligned relative to MAXBSIZE, and chunking
  prevents the file system from doing much realigning.
  
  This gives a surprisingly large speedup for core dumps -- from 50 to
  13 seconds for a 512MB core dump here.  The pessimization was mostly
  from an interaction of the misalignment with IO_DIRECT.  It increased
  the number of i/o's for each chunk by a factor of 5 (3 writes and 2
  read-before-writes instead of 1 write).
  
  Revision  Changes    Path
  1.197     +11 -1     src/sys/kern/vfs_vnops.c


More information about the cvs-src mailing list