Group short-lived and reclaimable kernel allocations
This patch marks a number of allocations that are either short-lived such as network buffers or are reclaimable such as inode allocations. When something like updatedb is called, long-lived and unmovable kernel allocations tend to be spread throughout the address space which increases fragmentation. This patch groups these allocations together as much as possible by adding a new MIGRATE_TYPE. The MIGRATE_RECLAIMABLE type is for allocations that can be reclaimed on demand, but not moved. i.e. they can be migrated by deleting them and re-reading the information from elsewhere. Signed-off-by:Mel Gorman <mel@csn.ul.ie> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Christoph Lameter <clameter@sgi.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- fs/buffer.c 2 additions, 1 deletionfs/buffer.c
- fs/dcache.c 1 addition, 1 deletionfs/dcache.c
- fs/jbd/journal.c 2 additions, 2 deletionsfs/jbd/journal.c
- fs/jbd/revoke.c 4 additions, 2 deletionsfs/jbd/revoke.c
- fs/proc/base.c 7 additions, 6 deletionsfs/proc/base.c
- fs/proc/generic.c 1 addition, 1 deletionfs/proc/generic.c
- include/linux/gfp.h 12 additions, 3 deletionsinclude/linux/gfp.h
- include/linux/mmzone.h 4 additions, 2 deletionsinclude/linux/mmzone.h
- include/linux/pageblock-flags.h 1 addition, 1 deletioninclude/linux/pageblock-flags.h
- include/linux/slab.h 3 additions, 1 deletioninclude/linux/slab.h
- kernel/cpuset.c 1 addition, 1 deletionkernel/cpuset.c
- lib/radix-tree.c 4 additions, 2 deletionslib/radix-tree.c
- mm/page_alloc.c 7 additions, 3 deletionsmm/page_alloc.c
- mm/shmem.c 2 additions, 2 deletionsmm/shmem.c
- mm/slab.c 2 additions, 0 deletionsmm/slab.c
- mm/slub.c 3 additions, 0 deletionsmm/slub.c
Loading
Please register or sign in to comment