summaryrefslogtreecommitdiffstats
path: root/fs/sysv/namei.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2010-07-28 18:56:23 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2010-07-28 20:10:03 +0200
commitd2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56 (patch)
treef9ac90f438bb3221a6e383e7f1c9c817e95ad44b /fs/sysv/namei.c
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/eri... (diff)
downloadlinux-d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56.tar.xz
linux-d2a97a4e99ff0ffdccd1fc46f22fb34270ef1e56.zip
GFS2: Use kmalloc when possible for ->readdir()
If we don't need a huge amount of memory in ->readdir() then we can use kmalloc rather than vmalloc to allocate it. This should cut down on the greater overheads associated with vmalloc for smaller directories. We may be able to eliminate vmalloc entirely at some stage, but this is easy to do right away. Also using GFP_NOFS to avoid any issues wrt to deleting inodes while under a glock, and suggestion from Linus to factor out the alloc/dealloc. I've given this a test with a variety of different sized directories and it seems to work ok. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Nick Piggin <npiggin@suse.de> Cc: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/sysv/namei.c')
0 files changed, 0 insertions, 0 deletions