android_kernel_samsung_msm8976/mm
Vinayak Menon d9f61d3b91 mm: swap: don't delay swap free for fast swap devices
There are couple of issues with swapcache usage when ZRAM is used
as swap device.
1) Kernel does a swap readahead which can be around 6 to 8 pages
depending on total ram, which is not required for zram since
accesses are fast.
2) Kernel delays the freeing up of swapcache expecting a later hit,
which again is useless in the case of zram.
3) This is not related to swapcache, but zram usage itself.
As mentioned in (2) kernel delays freeing of swapcache, but along with
that it delays zram compressed page free also. i.e. there can be 2 copies,
though one is compressed.

This patch addresses these issues using two new flags
QUEUE_FLAG_FAST and SWP_FAST, to indicate that accesses to the device
will be fast and cheap, and instructs the swap layer to free up
swap space agressively, and not to do read ahead.

Change-Id: I5d2d5176a5f9420300bb2f843f6ecbdb25ea80e4
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2015-02-27 14:51:32 +05:30
..
backing-dev.c arch: Mass conversion of smp_mb__*() 2014-08-15 11:45:28 -07:00
balloon_compaction.c
bootmem.c mm: concentrate modification of totalram_pages into the mm core 2014-02-07 13:49:40 -08:00
bounce.c mm/bounce.c: fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored 2013-10-13 16:08:33 -07:00
cleancache.c
compaction.c mm/compaction: make isolate_freepages start at pageblock boundary 2014-06-16 13:42:53 -07:00
debug-pagealloc.c mm: Mark free pages as read only 2014-04-18 14:51:25 -07:00
dmapool.c
early_ioremap.c mm: create generic early_ioremap() support 2014-08-15 11:45:23 -07:00
fadvise.c
failslab.c
filemap.c arch: Mass conversion of smp_mb__*() 2014-08-15 11:45:28 -07:00
filemap_xip.c
fremap.c mm: fix use-after-free in sys_remap_file_pages 2014-01-09 12:24:24 -08:00
frontswap.c
highmem.c
huge_memory.c thp: fix copy_page_rep GPF by testing is_huge_zero_pmd once only 2014-01-25 08:27:12 -08:00
hugetlb.c hugetlb: fix copy_hugetlb_page_range() to handle migration/hwpoisoned entry 2014-07-09 11:14:03 -07:00
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h Merge "mm/page_alloc: restrict max order of merging on isolated pageblock Current pageblock isolation logic could isolate each pageblock individually. This causes freepage accounting problem if freepage with pageblock order on isolate pageblock is merged with other freepage on normal pageblock. We can prevent merging by restricting max order of merging to pageblock order if freepage is on isolate pageblock." 2014-12-18 14:23:16 -08:00
interval_tree.c
Kconfig mm: vmscan: support setting of kswapd cpu affinity 2014-11-26 13:04:02 -08:00
Kconfig.debug defconfig: 8994: enable CONFIG_DEBUG_SLUB_PANIC_ON 2014-10-21 14:00:18 -07:00
kmemcheck.c
kmemleak-test.c
kmemleak.c kmemleak : Make kmemleak_stack_scan optional using config 2015-02-04 18:38:40 +05:30
ksm.c ksm: Add showmem notifier 2014-10-06 09:53:55 -07:00
maccess.c
madvise.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
Makefile mm: Add notifier framework for showing memory 2014-10-06 09:47:49 -07:00
memblock.c mm/memblock: add memblock_get_current_limit 2014-04-08 09:51:10 -07:00
memcontrol.c memcg: Allow non-root users permission to control memory 2014-12-15 13:13:02 +05:30
memory-failure.c mm/memory-failure.c: don't let collect_procs() skip over processes for MF_ACTION_REQUIRED 2014-06-30 20:09:42 -07:00
memory.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
memory_hotplug.c
mempolicy.c Merge upstream tag 'v3.10.49' into msm-3.10 2014-08-20 13:23:09 -07:00
mempool.c
migrate.c Merge upstream linux-stable v3.10.28 into msm-3.10 2014-03-24 14:28:34 -07:00
mincore.c
mlock.c Merge upstream tag 'v3.10.40' into msm-3.10 2014-06-18 13:10:54 -07:00
mm_init.c
mmap.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c mm: add a field to store names for private anonymous memory 2014-06-13 12:05:14 -07:00
mremap.c mm, thp: close race between mremap() and split_huge_page() 2014-06-07 13:25:31 -07:00
msync.c
nobootmem.c mm/nobootmem.c: Drop __init annotation from free_bootmem_late 2014-04-21 15:28:38 -07:00
nommu.c mm: remove free_area_cache 2014-02-07 13:49:41 -08:00
oom_kill.c mm, oom: make dump_tasks public 2014-06-03 13:33:18 -07:00
page-writeback.c mm/page-writeback.c: fix divide by zero in bdi_dirty_limits() 2014-11-25 21:00:10 -08:00
page_alloc.c mm/page_alloc: restrict max order of merging on isolated pageblock 2014-12-17 11:51:09 -08:00
page_cgroup.c
page_io.c mm: swap: Rate limit swap write errors 2013-11-14 09:27:11 -08:00
page_isolation.c mm/page_alloc: restrict max order of merging on isolated pageblock 2014-12-17 11:51:09 -08:00
pageowner.c debugging: keep track of page owners 2014-03-28 13:33:08 -07:00
pagewalk.c mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range 2015-01-20 16:10:02 +05:30
percpu-km.c
percpu-vm.c
percpu.c percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() 2014-06-07 13:25:37 -07:00
pgtable-generic.c mm: fix TLB flush race between migration, and change_protection_range 2014-01-09 12:24:23 -08:00
process_vm_access.c
quicklist.c
readahead.c
rmap.c mm: rmap: fix use-after-free in __put_anon_vma 2014-07-30 18:41:12 +05:30
shmem.c cope with potentially long ->d_dname() output for shmem/hugetlb 2014-01-09 16:35:41 -08:00
showmem.c mm: Add notifier framework for showing memory 2014-10-06 09:47:49 -07:00
slab.c
slab.h memcg: check that kmem_cache has memcg_params before accessing it 2013-09-07 22:09:58 -07:00
slab_common.c
slob.c
slub.c mm: slub: panic for object and slab errors 2014-10-22 11:16:52 -07:00
sparse-vmemmap.c
sparse.c
swap.c mm: close PageTail race 2014-04-03 12:01:05 -07:00
swap_state.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
swapfile.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
truncate.c
util.c nick kvfree() from apparmor 2014-09-23 10:37:57 -06:00
vmalloc.c Merge "Merge upstream linux-stable v3.10.28 into msm-3.10" 2014-03-26 23:36:07 -07:00
vmpressure.c
vmscan.c mm: swap: don't delay swap free for fast swap devices 2015-02-27 14:51:32 +05:30
vmstat.c Revert "mm: add cma pcp list" 2014-08-22 11:03:00 -07:00
zbud.c zbud: add to mm/ 2013-10-18 18:24:55 -07:00
zswap.c mm, zswap: Fix CPU hotplug callback registration 2014-07-03 09:55:28 -07:00