kernel-hacking-2024-linux-s.../mm
Chen, Kenneth W cace673d37 [PATCH] htlb forget rss with pt sharing
Imprecise RSS accounting is an irritating ill effect with pt sharing.  After
consulted with several VM experts, I have tried various methods to solve that
problem: (1) iterate through all mm_structs that share the PT and increment
count; (2) keep RSS count in page table structure and then sum them up at
reporting time.  None of the above methods yield any satisfactory
implementation.

Since process RSS accounting is pure information only, I propose we don't
count them at all for hugetlb page.  rlimit has such field, though there is
absolutely no enforcement on limiting that resource.  One other method is to
account all RSS at hugetlb mmap time regardless they are faulted or not.  I
opt for the simplicity of no accounting at all.

Hugetlb page are special, they are reserved up front in global reservation
pool and is not reclaimable.  From physical memory resource point of view, it
is already consumed regardless whether there are users using them.

If the concern is that RSS can be used to control resource allocation, we
already can specify hugetlb fs size limit and sysadmin can enforce that at
mount time.  Combined with the two points mentioned above, I fail to see if
there is anything got affected because of this patch.

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: Dave McCracken <dmccr@us.ibm.com>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Adam Litke <agl@us.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:21 -08:00
..
allocpercpu.c
backing-dev.c [PATCH] separate bdi congestion functions from queue congestion functions 2006-10-20 10:26:35 -07:00
bootmem.c
bounce.c
fadvise.c
filemap.c [PATCH] grab swap token reordered 2006-12-07 08:39:21 -08:00
filemap.h
filemap_xip.c
fremap.c
highmem.c
hugetlb.c [PATCH] htlb forget rss with pt sharing 2006-12-07 08:39:21 -08:00
internal.h
Kconfig
madvise.c
Makefile [PATCH] separate bdi congestion functions from queue congestion functions 2006-10-20 10:26:35 -07:00
memory.c [PATCH] grab swap token reordered 2006-12-07 08:39:21 -08:00
memory_hotplug.c [PATCH] Get rid of zone_table[] 2006-12-07 08:39:20 -08:00
mempolicy.c [PATCH] memory page_alloc zonelist caching speedup 2006-12-07 08:39:20 -08:00
mempool.c
migrate.c [PATCH] Fix sys_move_pages when a NULL node list is passed 2006-11-03 12:27:59 -08:00
mincore.c
mlock.c
mmap.c [PATCH] hugetlb: fix error return for brk() entering a hugepage region 2006-11-14 15:15:01 -08:00
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c [PATCH] uclinux: fix mmap() of directory for nommu case 2006-12-06 07:41:26 -08:00
oom_kill.c [PATCH] oom: less memdie 2006-12-07 08:39:20 -08:00
page-writeback.c [PATCH] separate bdi congestion functions from queue congestion functions 2006-10-20 10:26:35 -07:00
page_alloc.c [PATCH] mm: add arch_alloc_page 2006-12-07 08:39:21 -08:00
page_io.c
pdflush.c
prio_tree.c
readahead.c [PATCH] Cleanup read_pages() 2006-11-03 12:27:56 -08:00
rmap.c [PATCH] mm: more commenting on lock ordering 2006-10-20 10:26:44 -07:00
shmem.c [PATCH] separate bdi congestion functions from queue congestion functions 2006-10-20 10:26:35 -07:00
shmem_acl.c
slab.c WorkStruct: Pass the work_struct pointer instead of context data 2006-11-22 14:55:48 +00:00
slob.c
sparse.c [PATCH] Get rid of zone_table[] 2006-12-07 08:39:20 -08:00
swap.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
swap_state.c
swapfile.c
thrash.c [PATCH] new scheme to preempt swap token 2006-12-07 08:39:21 -08:00
tiny-shmem.c
truncate.c
util.c
vmalloc.c [PATCH] Fix strange size check in __get_vm_area_node() 2006-11-16 11:43:38 -08:00
vmscan.c [PATCH] balance_pdgat() cleanup 2006-12-07 08:39:21 -08:00
vmstat.c [PATCH] vmscan: Fix temp_priority race 2006-10-28 11:30:50 -07:00