GFS2: Increase buffer size for glocks and glstats debugfs files
authorSteven Whitehouse <swhiteho@redhat.com>
Thu, 7 Jun 2012 12:30:16 +0000 (13:30 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Thu, 7 Jun 2012 12:30:16 +0000 (13:30 +0100)
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>
fs/gfs2/glock.c

index dab2526071cc7b53bc18a9203deea61ab78aaae3..1c4cddf42a663c564e95ddb15a220391110642ff 100644 (file)
@@ -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;
 }