linux/drivers
Rik van Riel 4f98a2fee8 vmscan: split LRU lists into anon & file sets
Split the LRU lists in two, one set for pages that are backed by real file
systems ("file") and one for pages that are backed by memory and swap
("anon").  The latter includes tmpfs.

The advantage of doing this is that the VM will not have to scan over lots
of anonymous pages (which we generally do not want to swap out), just to
find the page cache pages that it should evict.

This patch has the infrastructure and a basic policy to balance how much
we scan the anon lists and how much we scan the file lists.  The big
policy changes are in separate patches.

[lee.schermerhorn@hp.com: collect lru meminfo statistics from correct offset]
[kosaki.motohiro@jp.fujitsu.com: prevent incorrect oom under split_lru]
[kosaki.motohiro@jp.fujitsu.com: fix pagevec_move_tail() doesn't treat unevictable page]
[hugh@veritas.com: memcg swapbacked pages active]
[hugh@veritas.com: splitlru: BDI_CAP_SWAP_BACKED]
[akpm@linux-foundation.org: fix /proc/vmstat units]
[nishimura@mxp.nes.nec.co.jp: memcg: fix handling of shmem migration]
[kosaki.motohiro@jp.fujitsu.com: adjust Quicklists field of /proc/meminfo]
[kosaki.motohiro@jp.fujitsu.com: fix style issue of get_scan_ratio()]
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-20 08:50:25 -07:00
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi rtc-cmos: move wake setup from ACPI glue into RTC driver 2008-10-14 16:08:21 -07:00
amba
ata Merge commit 'origin' 2008-10-15 11:31:54 +11:00
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
auxdisplay
base vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
block ub: remove sg_stat 2008-10-17 14:40:52 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
cdrom gdrom: change to use __blk_end_request() 2008-10-09 08:56:21 +02:00
char tpm: don't export static functions 2008-10-20 08:50:24 -07:00
clocksource
connector
cpufreq [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code 2008-10-09 13:52:44 -04:00
cpuidle
crypto
dca device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
dio
dma dw_dmac: fix copy/paste bug in tasklet 2008-10-03 18:22:18 -07:00
edac edac i5000: fix thermal issues 2008-10-16 11:21:48 -07:00
eisa
firewire firewire: fix ioctl() return code 2008-10-15 22:21:10 +02:00
firmware Merge branch 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-16 15:17:40 -07:00
gpio gpiolib: request/free hooks 2008-10-16 11:21:40 -07:00
gpu drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831) 2008-10-18 07:18:05 +10:00
hid USB: remove warn macro from HID core 2008-10-17 14:41:09 -07:00
hwmon hwmon: (adm1026) Prevent log spamming 2008-10-17 17:51:20 +02:00
i2c hwmon: (ams) Convert to a new-style i2c driver 2008-10-17 17:51:12 +02:00
ide block: remove __generic_unplug_device() from exports 2008-10-17 14:03:08 +02:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-10-16 15:02:24 -07:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-17 09:00:23 -07:00
input USB: remove info() macro from usb input drivers 2008-10-17 14:41:10 -07:00
isdn device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
leds device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
lguest
macintosh device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-17 09:00:23 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2008-10-17 15:43:52 -07:00
memstick memstick: change to use __blk_end_request() 2008-10-09 08:56:20 +02:00
message i2o: Fix 32/64bit DMA locking 2008-10-16 11:21:38 -07:00
mfd Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
misc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
mmc Merge branch 'fixes' into for-linus 2008-10-15 23:16:07 +01:00
mtd USB: remove info() macro from usb mtd drivers 2008-10-17 14:41:10 -07:00
net USB: remove info() macro from usb network drivers 2008-10-17 14:41:10 -07:00
nubus nubus: fix mis-indented statement 2008-10-16 11:21:30 -07:00
of Merge commit 'gcl/gcl-next' 2008-10-14 10:11:27 +11:00
oprofile Merge branch 'linus' into oprofile-v2 2008-10-13 11:05:51 +02:00
parisc
parport parport: remove CVS keywords 2008-10-16 11:21:49 -07:00
pci {pci,pnp} quirks.c: don't use deprecated print_fn_descriptor_symbol() 2008-10-16 16:11:43 -07:00
pcmcia [ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error 2008-10-15 12:34:50 +01:00
pnp {pci,pnp} quirks.c: don't use deprecated print_fn_descriptor_symbol() 2008-10-16 16:11:43 -07:00
power Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ps3
rapidio
regulator da903x: add regulator support for DA9030/DA9034 2008-10-13 21:51:57 +01:00
rtc rtc: rtc-ds1286 and rtc-m48t35 need <linux/io.h> 2008-10-16 11:32:38 -07:00
s390 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-10-17 09:29:55 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-17 09:00:23 -07:00
serial serial_txx9: use %lx for iobase 2008-10-20 08:50:24 -07:00
sh
sn
spi Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
staging staging: at76_usb wireless driver 2008-10-13 14:33:13 -07:00
tc
telephony telephony: remove CVS keywords 2008-10-16 11:21:45 -07:00
thermal
uio UIO: Fix mapping of logical and virtual memory 2008-10-16 09:24:54 -07:00
usb USB: remove err() macro from more usb drivers 2008-10-17 14:41:14 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
virtio
w1 w1: new driver. DS2431 chip 2008-10-16 11:21:51 -07:00
watchdog Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
xen xen: remove unused balloon.h 2008-10-03 10:04:10 +02:00
zorro
Kconfig Staging: add Kconfig entries and Makefile infrastructure 2008-10-10 15:31:06 -07:00
Makefile Staging: add Kconfig entries and Makefile infrastructure 2008-10-10 15:31:06 -07:00