linux/drivers
KOSAKI Motohiro 4b02108ac1 mm: oom analysis: add shmem vmstat
Recently we encountered OOM problems due to memory use of the GEM cache.
Generally a large amuont of Shmem/Tmpfs pages tend to create a memory
shortage problem.

We often use the following calculation to determine the amount of shmem
pages:

shmem = NR_ACTIVE_ANON + NR_INACTIVE_ANON - NR_ANON_PAGES

however the expression does not consider isolated and mlocked pages.

This patch adds explicit accounting for pages used by shmem and tmpfs.

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Rik van Riel <riel@redhat.com>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Wu Fengguang <fengguang.wu@intel.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-22 07:17:27 -07:00
..
accessibility
acpi x86: Trivial whitespace cleanups 2009-09-20 20:18:57 +02:00
amba
ata libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers 2009-09-17 16:47:06 -04:00
atm
auxdisplay
base mm: oom analysis: add shmem vmstat 2009-09-22 07:17:27 -07:00
block const: make block_device_operations const 2009-09-22 07:17:25 -07:00
bluetooth
cdrom const: make block_device_operations const 2009-09-22 07:17:25 -07:00
char perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
clocksource
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2009-09-18 09:16:57 -07:00
cpuidle tracing, x86, cpuidle: Move the end point of a C state in the power tracer 2009-09-19 18:57:52 +02:00
crypto
dca
dio
dma
edac amd64_edac: check NB MCE bank enable on the current node properly 2009-09-16 13:05:46 +02:00
eisa
firewire
firmware
gpio gpio: Add WM831X GPIO driver 2009-09-17 09:47:01 +02:00
gpu Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-09-21 08:10:09 -07:00
hid Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
hwmon Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2009-09-18 09:22:36 -07:00
i2c [PATCH] i2c-imx: make bus available early 2009-09-19 23:36:56 +01:00
ide const: make block_device_operations const 2009-09-22 07:17:25 -07:00
idle
ieee1394
ieee802154
infiniband
input Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
isdn const: mark remaining super_operations const 2009-09-22 07:17:24 -07:00
leds
lguest
macintosh
mca
md const: make block_device_operations const 2009-09-22 07:17:25 -07:00
media drivers/media/dvb/pt1/pt1.c needs vmalloc.h 2009-09-22 07:17:23 -07:00
memstick const: make block_device_operations const 2009-09-22 07:17:25 -07:00
message const: make block_device_operations const 2009-09-22 07:17:25 -07:00
mfd drivers/mfd/ab3100-core.c: fix powerpc build error 2009-09-22 07:17:24 -07:00
misc const: mark remaining super_operations const 2009-09-22 07:17:24 -07:00
mmc const: make block_device_operations const 2009-09-22 07:17:25 -07:00
mtd const: make block_device_operations const 2009-09-22 07:17:25 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2009-09-20 15:55:39 -07:00
nubus
of
oprofile const: mark remaining super_operations const 2009-09-22 07:17:24 -07:00
parisc
parport
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-09-16 07:49:54 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pcmcia-2.6 2009-09-16 08:11:23 -07:00
platform
pnp
power
pps
ps3
rapidio
regulator regulator: Voltage count for AB3100 2009-09-17 15:48:24 +02:00
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-09-18 09:43:09 -07:00
s390 const: make block_device_operations const 2009-09-22 07:17:25 -07:00
sbus const: make block_device_operations const 2009-09-22 07:17:25 -07:00
scsi const: make block_device_operations const 2009-09-22 07:17:25 -07:00
serial uartlite: support shared interrupt lines 2009-09-19 13:13:38 -07:00
sh
sn
spi
ssb ssb/sdio: fix printk format warnings 2009-09-16 16:21:00 -04:00
staging Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2009-09-21 09:03:10 -07:00
tc
telephony
thermal
uio Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-09-18 09:43:09 -07:00
usb const: mark remaining super_operations const 2009-09-22 07:17:24 -07:00
uwb Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2009-09-17 09:44:09 -07:00
video includecheck fix: drivers/video, vgacon.c 2009-09-20 16:01:58 +05:30
virtio
vlynq
w1
watchdog [WATCHDOG] sizeof cleanup 2009-09-18 08:39:37 +00:00
xen includecheck fix: drivers/xen, evtchn.c 2009-09-20 16:02:20 +05:30
zorro
Kconfig
Makefile