Bob Liu
d602dabaeb
SLOB: Free objects to their own list
...
SLOB has alloced smaller objects from their own list in reduce overall external
fragmentation and increase repeatability, free to their own list also.
This is /proc/meminfo result in my test machine:
without this patch:
===
MemTotal: 1030720 kB
MemFree: 750012 kB
Buffers: 15496 kB
Cached: 160396 kB
SwapCached: 0 kB
Active: 105024 kB
Inactive: 145604 kB
Active(anon): 74816 kB
Inactive(anon): 2180 kB
Active(file): 30208 kB
Inactive(file): 143424 kB
Unevictable: 16 kB
....
with this patch:
===
MemTotal: 1030720 kB
MemFree: 751908 kB
Buffers: 15492 kB
Cached: 160280 kB
SwapCached: 0 kB
Active: 102720 kB
Inactive: 146140 kB
Active(anon): 73168 kB
Inactive(anon): 2180 kB
Active(file): 29552 kB
Inactive(file): 143960 kB
Unevictable: 16 kB
...
The result shows an improvement of 1 MB!
And when I tested it on a embeded system with 64 MB, I found this path is never
called during kernel bootup.
Acked-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
2010-07-16 11:03:20 +03:00
..
backing-dev.c
writeback: simplify the write back thread queue
2010-07-06 08:59:53 +02:00
bootmem.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
2010-04-07 11:02:23 -07:00
bounce.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
compaction.c
mm: compaction: add a tunable that decides when memory should be compacted and when it should be reclaimed
2010-05-25 08:06:59 -07:00
debug-pagealloc.c
dmapool.c
fadvise.c
readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM
2010-03-06 11:26:25 -08:00
failslab.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
filemap.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
2010-05-30 09:16:14 -07:00
filemap_xip.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
fremap.c
mm: clean up mm_counter
2010-03-06 11:26:23 -08:00
highmem.c
highmem: remove unneeded #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT for debug_kmap_atomic()
2010-05-25 08:07:01 -07:00
hugetlb.c
cpuset,mm: fix no node to alloc memory when changing cpuset's mems
2010-05-25 08:06:57 -07:00
hwpoison-inject.c
init-mm.c
internal.h
Kconfig
mm: allow CONFIG_MIGRATION to be set without CONFIG_NUMA or memory hot-remove
2010-05-25 08:06:59 -07:00
Kconfig.debug
kmemcheck.c
kmemcheck: Fix build errors due to missing slab.h
2010-03-30 22:02:32 +09:00
kmemleak-test.c
kmemleak.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ksm.c
mm: migration: share the anon_vma ref counts between KSM and page migration
2010-05-25 08:06:58 -07:00
maccess.c
madvise.c
Makefile
mm: compaction: memory compaction core
2010-05-25 08:06:59 -07:00
memcontrol.c
memcg: fix wake up in oom wait queue
2010-06-29 15:29:30 -07:00
memory-failure.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
memory.c
mm: document follow_page()
2010-05-25 08:07:00 -07:00
memory_hotplug.c
mem-hotplug: fix potential race while building zonelist for new populated zone
2010-05-25 08:07:02 -07:00
mempolicy.c
mempolicy: fix dangling reference to tmpfs superblock mpol
2010-06-29 15:29:31 -07:00
mempool.c
migrate.c
memcg: fix mis-accounting of file mapped racy with migration
2010-05-27 09:12:44 -07:00
mincore.c
mincore: do nested page table walks
2010-05-25 08:06:58 -07:00
mlock.c
x86, perf, bts, mm: Delete the never used BTS-ptrace code
2010-03-26 11:33:55 +01:00
mm_init.c
mmap.c
mmap: check ->vm_ops before dereferencing
2010-04-27 08:26:51 -07:00
mmu_context.c
exit: fix oops in sync_mm_rss
2010-03-24 16:31:21 -07:00
mmu_notifier.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
mmzone.c
mprotect.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
mremap.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
msync.c
sanitize vfs_fsync calling conventions
2010-05-21 18:31:21 -04:00
nommu.c
nommu: allow private mappings of read-only devices
2010-05-26 08:19:23 -07:00
oom_kill.c
memcg: make oom killer a no-op when no killable task can be found
2010-05-27 09:12:43 -07:00
page-writeback.c
writeback: remove writeback_inodes_wbc
2010-07-06 08:54:03 +02:00
page_alloc.c
numa: introduce numa_mem_id()- effective local memory node id
2010-05-27 09:12:57 -07:00
page_cgroup.c
memcg: avoid use cmpxchg in swap cgroup maintainance
2010-03-17 18:43:47 -07:00
page_io.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
page_isolation.c
pagewalk.c
pagemap: fix pfn calculation for hugepage
2010-04-07 08:38:04 -07:00
percpu-km.c
percpu: implement kernel memory based chunk allocation
2010-05-01 08:30:50 +02:00
percpu-vm.c
percpu: move vmalloc based chunk management into percpu-vm.c
2010-05-01 08:30:50 +02:00
percpu.c
percpu: fix first chunk match in per_cpu_ptr_to_phys()
2010-06-18 15:07:23 +02:00
percpu_up.c
percpu: don't implicitly include slab.h from percpu.h
2010-03-30 22:02:32 +09:00
prio_tree.c
quicklist.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
readahead.c
readahead.c: fix comment
2010-05-25 08:07:00 -07:00
rmap.c
mm: migration: avoid race between shift_arg_pages() and rmap_walk() during migration by not migrating temporary stacks
2010-05-25 08:06:59 -07:00
shmem.c
fix truncate inode time modification breakage
2010-06-04 17:16:30 -04:00
slab.c
numa: slab: use numa_mem_id() for slab local memory node
2010-05-27 09:12:57 -07:00
slob.c
SLOB: Free objects to their own list
2010-07-16 11:03:20 +03:00
slub.c
Merge branch 'slub/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
2010-05-30 12:46:17 -07:00
sparse-vmemmap.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
sparse.c
sparsemem: on no vmemmap path put mem_map on node high too
2010-05-25 08:06:56 -07:00
swap.c
mm: export lru_cache_add_*() to modules
2010-05-25 15:06:06 +02:00
swap_state.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
swapfile.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
2010-05-21 15:26:46 -07:00
thrash.c
truncate.c
fs: introduce new truncate sequence
2010-05-27 22:15:33 -04:00
util.c
slab: Generify kernel pointer validation
2010-04-09 10:09:50 -07:00
vmalloc.c
vmscan.c
vmscan: fix do_try_to_free_pages() return value when priority==0 reclaim failure
2010-06-04 15:21:45 -07:00
vmstat.c
mm: compaction: direct compact when a high-order allocation fails
2010-05-25 08:06:59 -07:00