linux/fs/gfs2
Steven Whitehouse 75ca61c101 GFS2: Remove a __GFP_NOFAIL allocation
In order to ensure that we've got enough buffer heads for flushing
the journal, the orignal code used __GFP_NOFAIL when performing
this allocation. Here we dispense with that in favour of using a
mempool. This should improve efficiency in low memory conditions
since flushing the journal is a good way to get memory back, we
don't want to be spinning, waiting on memory allocations. The
buffers which are allocated via this mempool are fairly short lived,
so that we'll recycle them pretty quickly.

Although there are other memory allocations which occur during the
journal flush process, this is the one which can potentially require
the most memory, so the most important one to fix.

The amount of memory reserved is a fixed amount, and we should not need
to scale it when there are a greater number of filesystems in use.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2012-03-08 12:10:23 +00:00
..
Kconfig GFS2: No longer experimental 2010-09-20 11:18:46 +01:00
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
acl.c GFS2: We only need one ACL getting function 2011-11-23 13:31:51 +00:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
aops.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
bmap.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
bmap.h GFS2: New truncate sequence 2010-09-20 11:18:16 +01:00
dentry.c gfs2: fix d_revalidate oopsen on NFS exports 2011-03-10 03:44:48 -05:00
dir.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
dir.h GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
export.c GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
file.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
glock.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
glops.c filesystems: add set_nlink() 2011-11-02 12:53:43 +01:00
glops.h GFS2: Fix AIL flush issue during fsync 2011-10-21 12:39:41 +01:00
incore.h GFS2: Eliminate sd_rindex_mutex 2012-03-05 15:06:56 +00:00
inode.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
inode.h GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
lock_dlm.c GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
log.c GFS2: Make bd_cmp() static 2012-02-28 17:11:27 +00:00
log.h GFS2: Move two functions from log.c to lops.c 2012-02-28 17:09:59 +00:00
lops.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
lops.h
main.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
meta_io.c GFS2: Fix up REQ flags 2011-11-08 09:51:53 +00:00
meta_io.h GFS2: Remove unused macro 2011-04-20 09:00:24 +01:00
ops_fstype.c GFS2: Eliminate sd_rindex_mutex 2012-03-05 15:06:56 +00:00
quota.c Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2012-01-08 13:10:57 -08:00
quota.h vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h gfs2: use workqueue instead of slow-work 2010-07-23 13:14:25 +02:00
rgrp.c GFS2: make sure rgrps are up to date in func gfs2_blk2rgrpd 2012-03-05 15:10:34 +00:00
rgrp.h GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
super.c GFS2: Flush pending glock work when evicting an inode 2012-03-07 10:43:02 +00:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
trans.c GFS2: Use rbtree for resource groups and clean up bitmap buffer ref count scheme 2011-10-21 12:39:31 +01:00
trans.h GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
util.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
util.h GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
xattr.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00