Files
linux/fs
Eric Sandeen a9cc799eca xfs: increase readdir buffer size
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: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
2010-03-01 16:33:41 -06:00
..
2010-01-26 22:22:25 -05:00
2009-12-10 15:02:50 +01:00
2010-02-07 03:06:21 -05:00
2010-01-26 22:22:25 -05:00
2010-01-14 09:05:42 -05:00
2010-01-19 22:36:06 -06:00
2009-06-17 00:36:36 -04:00
2009-07-12 12:22:34 -07:00
2009-12-15 08:53:10 -08:00
2009-12-16 07:20:06 -08:00
2010-01-14 09:05:25 -05:00
2009-12-22 12:27:35 -05:00
2009-12-17 11:03:25 -05:00
2010-02-19 10:25:41 -05:00
2009-12-16 07:20:18 -08:00
2010-01-26 22:22:26 -05:00
2009-06-17 00:36:37 -04:00
2009-12-14 21:40:04 +01:00
2009-12-16 07:20:06 -08:00
2010-03-01 16:33:41 -06:00
2009-12-16 07:20:13 -08:00
2009-12-22 12:27:34 -05:00
2009-09-24 08:41:47 -04:00
2009-09-24 07:21:03 -07:00
2009-12-17 04:52:13 -05:00
2010-02-07 10:26:01 -08:00
2009-12-17 11:03:25 -05:00
2009-12-14 18:12:11 -05:00
2009-12-22 12:27:34 -05:00
2009-12-17 10:51:40 -05:00
2009-10-04 15:05:10 -07:00
2009-12-16 12:16:49 -05:00