kernel-hacking-2024-linux-s.../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
..
acl.c GFS2: We only need one ACL getting function 2011-11-23 13:31:51 +00:00
acl.h
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
dentry.c
dir.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
dir.h
export.c
file.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
gfs2.h
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
glops.h
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
Kconfig
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
Makefile
meta_io.c
meta_io.h
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
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h
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
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
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