summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2012-06-07 14:30:16 +0200
committerSteven Whitehouse <swhiteho@redhat.com>2012-06-07 14:30:16 +0200
commitdf5d2f5560a9c33129391a136ed9f0ac26abe69b (patch)
tree856a81be21fad102bc3fe6cbaeb5af5eeb8b21c6 /fs
parentGFS2: Fix error handling when reading an invalid block from the journal (diff)
downloadlinux-df5d2f5560a9c33129391a136ed9f0ac26abe69b.tar.xz
linux-df5d2f5560a9c33129391a136ed9f0ac26abe69b.zip
GFS2: Increase buffer size for glocks and glstats debugfs files
As per Al Viro's suggestion, this increases the buffer size used for these two files. This provides a speed up of slightly less than 8x (i.e. proportional to the buffer size) for cases when we have large numbers of glocks. Cc: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/gfs2/glock.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index dab2526071cc..1c4cddf42a66 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1972,6 +1972,9 @@ static int gfs2_glocks_open(struct inode *inode, struct file *file)
struct seq_file *seq = file->private_data;
struct gfs2_glock_iter *gi = seq->private;
gi->sdp = inode->i_private;
+ seq->buf = kmalloc(8*PAGE_SIZE, GFP_KERNEL | __GFP_NOWARN);
+ if (seq->buf)
+ seq->size = 8*PAGE_SIZE;
}
return ret;
}
@@ -1984,6 +1987,9 @@ static int gfs2_glstats_open(struct inode *inode, struct file *file)
struct seq_file *seq = file->private_data;
struct gfs2_glock_iter *gi = seq->private;
gi->sdp = inode->i_private;
+ seq->buf = kmalloc(8*PAGE_SIZE, GFP_KERNEL | __GFP_NOWARN);
+ if (seq->buf)
+ seq->size = 8*PAGE_SIZE;
}
return ret;
}