kernel-ark/include
Balbir Singh 8a9f3ccd24 Memory controller: memory accounting
Add the accounting hooks.  The accounting is carried out for RSS and Page
Cache (unmapped) pages.  There is now a common limit and accounting for both.
The RSS accounting is accounted at page_add_*_rmap() and page_remove_rmap()
time.  Page cache is accounted at add_to_page_cache(),
__delete_from_page_cache().  Swap cache is also accounted for.

Each page's page_cgroup is protected with the last bit of the
page_cgroup pointer, this makes handling of race conditions involving
simultaneous mappings of a page easier.  A reference count is kept in the
page_cgroup to deal with cases where a page might be unmapped from the RSS
of all tasks, but still lives in the page cache.

Credits go to Vaidyanathan Srinivasan for helping with reference counting work
of the page cgroup.  Almost all of the page cache accounting code has help
from Vaidyanathan Srinivasan.

[hugh@veritas.com: fix swapoff breakage]
[akpm@linux-foundation.org: fix locking]
Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Pavel Emelianov <xemul@openvz.org>
Cc: Paul Menage <menage@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Kirill Korotaev <dev@sw.ru>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Cc: David Rientjes <rientjes@google.com>
Cc: <Valdis.Kletnieks@vt.edu>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-07 08:42:18 -08:00
..
acpi
asm-alpha alpha: fix warning by fixing flush_tlb_kernel_range() 2008-02-05 09:44:22 -08:00
asm-arm Merge branch 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop into fix 2008-02-06 11:16:11 -08:00
asm-avr32 Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-blackfin remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-cris cris: remove unused __dummy, CONST_ADDR and ADDR from bitops.h 2008-02-05 09:44:24 -08:00
asm-frv timerfd: fix remaining architectures 2008-02-05 14:37:15 -08:00
asm-generic remove support for un-needed _extratext section 2008-02-06 10:41:01 -08:00
asm-h8300 remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2008-02-05 10:24:52 -08:00
asm-m32r Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-m68k cleanup after APUS removal 2008-02-06 10:41:01 -08:00
asm-m68knommu remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-mips add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-parisc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-powerpc ps3: use symbolic names for video modes 2008-02-06 10:41:17 -08:00
asm-ppc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-s390 taskstats scaled time cleanup 2008-02-06 10:41:00 -08:00
asm-sh Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-sparc [SPARC]: Add new timerfd syscall entries. 2008-02-06 04:12:23 -08:00
asm-sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-06 10:46:58 -08:00
asm-um uml: LDT mutex conversion 2008-02-05 09:44:31 -08:00
asm-v850 remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-x86 tty: fix tty network driver interactions with TCGET/TCSET calls (x86 fix) 2008-02-07 08:42:16 -08:00
asm-xtensa add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
crypto
keys
linux Memory controller: memory accounting 2008-02-07 08:42:18 -08:00
math-emu
media
mtd
net 9p: add support for sticky bit 2008-02-06 19:25:06 -06:00
pcmcia
rdma
rxrpc
scsi
sound
video atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
xen
Kbuild