Save RAM from Logger
Duplicate input
Update LOWMEMKILLER to linux 3.6 version
set lowmem debug level to 1
Add new I/O scheduler FIFO.

Does not perform any merging or reordering -- pure FCFS.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
noop-iosched: perform full merging

Make noop perform full back- and front-merging and proper coalescing.
Also changes dispatching to back-insertion (rather than sorted) onto
the dispatch queue.

Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Add V(R) I/O scheduler

Conflicts:
	block/Kconfig.iosched
Forward porting some FIFO/No-Op changes
V(R) - set FIFO batch to 1
V(R) update
Add back DEFAULT_FIFO to KCONFIG
Adjust add_rq_rb in no-op+v(r) for 3.1 merges
Update Default Config

Conflicts:
	arch/arm/configs/tuna-tw_defconfig
The swap token is only useful in conditions of swap thrash, and actually worsens the common case by causing more swapping. Make it only have an effect when swap is more than half full.

-ck
While it may be nice to have a copy of pages on swap once written there, the more garbage we leave in the swapspace the slower any further writes and reads to and from it are. Just free swapcache whenever we can.

-ck
When kswapd is awoken due to reclaim by a running task, set the priority of kswapd to that of the calling task thus making memory reclaim cpu activity affected by nice level.

-ck
Add a background scanning timer to restore the watermarks to the pages_lots level and only call on it if kswapd has not been called upon for the last 5 seconds. This allows us to balance all zones to the more generous pages_lots watermark at a time unrelated to page allocation thus leading to lighter levels of vm load when called upon under page allocation.

Signed-off-by: Con Kolivas <kernel@kolivas.org>

The -ck patches modify mm/vmscan.c and add a timer to wake up kswapd every 5
seconds. This timer is initialized after the creation of the kswapd thread.

The kswapd() thread function calls mod_timer at the front of its infinite
service loop (to reset the timer to 5 seconds in the future). mod_timer()
includes a BUG_ON() to assert that the timer's callback function is set.

Since the wakeup timer is initialized after the kswapd thread is created, if
kswapd gets scheduled before kswapd_run() has prepared the timer, the
BUG_ON() check will throw a stack trace and immediately terminate the kswapd
thread.

This patch modifies the kswapd_run() function in mm/vmscan.c to initialize the
watermark timer before starting the kswapd thread.

Signed-off-by: Chase Venters <chase.venters at clientec.com>

-ck
When reading from large files through the generic file read functions into page cache we can detect when a file is so large that it is unlikely to be fully cached in ram. If that happens we can put it on the tail end of the inactive lru list so it can be the first thing evicted next time we need ram.

Do lots of funny buggers with underscores to preserve most of the existing
APIs.

-ck
remove unimplemented above_background_load
Add Zen I/O scheduler. Similar to SIO, primarily based on no-op and deadline. Intended to be mostly FCFS. Simpler than SIO in many ways, one of them being write requests/read requests have mostly the same priority.

Conflicts:
	block/Kconfig.iosched