linux/mm
Ken Chen 8a63011275 pretend cpuset has some form of hugetlb page reservation
When cpuset is configured, it breaks the strict hugetlb page reservation as
the accounting is done on a global variable.  Such reservation is
completely rubbish in the presence of cpuset because the reservation is not
checked against page availability for the current cpuset.  Application can
still potentially OOM'ed by kernel with lack of free htlb page in cpuset
that the task is in.  Attempt to enforce strict accounting with cpuset is
almost impossible (or too ugly) because cpuset is too fluid that task or
memory node can be dynamically moved between cpusets.

The change of semantics for shared hugetlb mapping with cpuset is
undesirable.  However, in order to preserve some of the semantics, we fall
back to check against current free page availability as a best attempt and
hopefully to minimize the impact of changing semantics that cpuset has on
hugetlb.

Signed-off-by: Ken Chen <kenchen@google.com>
Cc: Paul Jackson <pj@sgi.com>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-09 12:30:49 -07:00
..
allocpercpu.c
backing-dev.c
bootmem.c
bounce.c
fadvise.c
filemap_xip.c
filemap.c Remove do_sync_file_range() 2007-05-08 11:15:04 -07:00
filemap.h
fremap.c
highmem.c [PATCH] i386: PARAVIRT: add kmap_atomic_pte for mapping highpte pages 2007-05-02 19:27:15 +02:00
hugetlb.c pretend cpuset has some form of hugetlb page reservation 2007-05-09 12:30:49 -07:00
internal.h Make page->private usable in compound pages 2007-05-07 12:12:53 -07:00
Kconfig Quicklists for page table pages 2007-05-07 12:12:54 -07:00
madvise.c mm: madvise avoid exclusive mmap_sem 2007-05-07 12:12:54 -07:00
Makefile Quicklists for page table pages 2007-05-07 12:12:54 -07:00
memory_hotplug.c
memory.c Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
mempolicy.c
mempool.c
migrate.c
mincore.c
mlock.c
mmap.c Remove unused variable in get_unmapped_area 2007-05-08 11:35:28 -07:00
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
oom_kill.c oom: fix constraint deadlock 2007-05-07 12:12:55 -07:00
page_alloc.c Add white list into modpost.c for memory hotplug code and ia64's machvec section 2007-05-08 11:14:57 -07:00
page_io.c
page-writeback.c Factor outstanding I/O error handling 2007-05-08 11:14:57 -07:00
pdflush.c
prio_tree.c
quicklist.c Quicklists for page table pages 2007-05-07 12:12:54 -07:00
readahead.c readahead: code cleanup 2007-05-07 12:12:52 -07:00
rmap.c fbdev: mm: Deferred IO support 2007-05-08 11:15:26 -07:00
shmem_acl.c
shmem.c slab allocators: Remove SLAB_DEBUG_INITIAL flag 2007-05-07 12:12:57 -07:00
slab.c krealloc: fix kerneldoc comments 2007-05-09 12:30:46 -07:00
slob.c slob: fix page order calculation on not 4KB page 2007-05-07 12:12:57 -07:00
slub.c krealloc: fix kerneldoc comments 2007-05-09 12:30:46 -07:00
sparse.c Add white list into modpost.c for memory hotplug code and ia64's machvec section 2007-05-08 11:14:57 -07:00
swap_state.c
swap.c Make page->private usable in compound pages 2007-05-07 12:12:53 -07:00
swapfile.c mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
thrash.c
tiny-shmem.c
truncate.c
util.c
vmalloc.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
vmscan.c Factor outstanding I/O error handling 2007-05-08 11:14:57 -07:00
vmstat.c