1. 02 3月, 2010 1 次提交
    • E
      xfs: increase readdir buffer size · a9cc799e
      Eric Sandeen 提交于
      While doing some testing of readdir perf a while back,
      I noticed that the buffer size we're using internally is
      smaller than what glibc gives us by default.  Upping this
      size helped a bit, and seems safe.
      
      glibc's __alloc_dir() does:
      
        const size_t default_allocation = (4 * BUFSIZ < sizeof (struct dirent64)
                                           ? sizeof (struct dirent64) : 4 * BUFSIZ);
        const size_t small_allocation = (BUFSIZ < sizeof (struct dirent64)
                                         ? sizeof (struct dirent64) : BUFSIZ);
        size_t allocation = default_allocation;
      #ifdef _STATBUF_ST_BLKSIZE
        if (statp != NULL && default_allocation < statp->st_blksize)
          allocation = statp->st_blksize;
      #endif
      
      and
      
      #define _G_BUFSIZ 8192
      #define _IO_BUFSIZ _G_BUFSIZ
      # define BUFSIZ _IO_BUFSIZ
      
      so the default buffer is 4 * 8192 = 32768
      (except in the unlikely case of blocks > 32k....)
      Signed-off-by: NEric Sandeen <sandeen@sandeen.net>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      a9cc799e
  2. 27 2月, 2010 1 次提交
  3. 25 2月, 2010 4 次提交
  4. 24 2月, 2010 9 次提交
  5. 23 2月, 2010 25 次提交