Add Zen I/O Scheduler
Thanks to Android Developer Alliance

Conflicts:

	block/Kconfig.iosched
	block/Makefile

+ "Add Zen I/O Scheduler" ... -> https://github.com/kgp700/exyroid-sgs2-ics/commit/f6d66dfbdf97cdf06784611436581d90d75ae967
+ little code-style ...
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 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
+ "staging: android: lowmemorykiller: Don't count reserved free memory" -> https://github.com/AndroidDeveloperAlliance/ZenKernel_TUNA/commit/e9c048bef02a9b93b77900983e72b1b7d0916161
+ settings from "cortexbrain-tune.sh" ...
+ "always overcommit" -> https://github.com/AndroidDeveloperAlliance/ZenKernel_TUNA/commit/2a92fd0521475c8c0d9ff0b7f0b6321e100187b9
Added ZEN I/O Sched Ported By VOKU.
Kernel 7.19 ICS-JB-MALI + config settings, and build_kernel changes.
Making REVERT close to STOCK for USB OTG(dual mount) Driver.
external sdcard transfer is not stable. need to seek for reason.
Restored missing part from MMC code. and tuned USB_GADGET_STORAGE_NUM_BUFFERS
Revert "ZRAM Update by VOKU! > https://lkml.org/lkml/2012/11/2/29"

This reverts commit 605cc52cca1455010d3368b92d51599a89217b57.

ZRAM is unstable.

need to do the patch again from fresh.

Fresh ZRAM then patch then Snoppy then android zram, if needed.
Reverted patch for slow SDCARDS, now with ZEN I/O sched we have no problem!
New ZEN as Main I/O sched.
[PATCH v4 1/3] zsmalloc: promote to lib/
Date	Fri, 2 Nov 2012 16:12:45 +0900

This patch promotes the slab-based zsmalloc memory allocator
from the staging tree to lib/

zcache/zram depends on this allocator for storing compressed RAM pages
in an efficient way under system wide memory pressure where
high-order (greater than 0) page allocation are very likely to
fail.

For more information on zsmalloc and its internals, read the
documentation at the top of the zsmalloc.c file.
[PATCH v4 2/3] zram: promote zram from staging
Date	Fri, 2 Nov 2012 16:12:46 +0900

It's time to promote zram from staging because zram lives in staging
for a long time and is improved by many contributors so code is
very clean. Most important issue, zram's dependency with x86 is
solved by making zsmalloc portable. In addition, many embedded
product uses zram in real practice so I think there is no reason
to prevent promotion now.

Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>
Cc: Nitin Gupta <ngupta@vflare.org>
Acked-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Minchan Kim <minchan@kernel.org>

Note by Dorimanx:
The ZRAM driver is moved as is from one location to drivers/block/
no code changes.

Now i need to add support for new zsmalloc for zram.
 Staging: zram/zram_sysfs.c: Fixed call of obsolete function strict_st.

.rtoX

As reported by checkpatch.pl strict_strtoX is obsolet and should be
replaced by kstrtoX.

Signed-off-by: Sergey Datsevich <srgdts@gmail.com>
Signed-off-by: Bjoern Meier <bjoernmeier@hotmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 04e7bbad44c1a0c449719f90d507d13e015f1444 1 parent 6e8087a4fa
Sergey Datsevich authored a year ago gregkh committed a year ago
 staging: zram: Rename module parameter

zram accepts number of devices to be created
as a module parameter. This was renamed from
num_devices to zram_num_devices (without updating
the documentation!) since num_devices was declared
as a non-static global variable, polluting the global
namespace. Now, we declare it as a static variable
and revert back the name change.

The documentation (zram.txt) already mentions
num_devices as the module parameter name.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
zram: remove the second argument of k[un]map_atomic()

Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Cong Wang <amwang@redhat.com>
Merge branch 'kmap_atomic' of git://github.com/congwang/linux

Pull kmap_atomic cleanup from Cong Wang.

It's been in -next for a long time, and it gets rid of the (no longer
used) second argument to k[un]map_atomic().

Fix up a few trivial conflicts in various drivers, and do an "evil
merge" to catch some new uses that have come in since Cong's tree.

* 'kmap_atomic' of git://github.com/congwang/linux: (59 commits)
  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal
  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]
  drbd: remove the second argument of k[un]map_atomic()
  zcache: remove the second argument of k[un]map_atomic()
  gma500: remove the second argument of k[un]map_atomic()
  dm: remove the second argument of k[un]map_atomic()
  tomoyo: remove the second argument of k[un]map_atomic()
  sunrpc: remove the second argument of k[un]map_atomic()
  rds: remove the second argument of k[un]map_atomic()
  net: remove the second argument of k[un]map_atomic()
  mm: remove the second argument of k[un]map_atomic()
  lib: remove the second argument of k[un]map_atomic()
  power: remove the second argument of k[un]map_atomic()
  kdb: remove the second argument of k[un]map_atomic()
  udf: remove the second argument of k[un]map_atomic()
  ubifs: remove the second argument of k[un]map_atomic()
  squashfs: remove the second argument of k[un]map_atomic()
  reiserfs: remove the second argument of k[un]map_atomic()
  ocfs2: remove the second argument of k[un]map_atomic()
  ntfs: remove the second argument of k[un]map_atomic()
  ...
ZRAM last corrections. now in SYNC with 3.4.y Android, without zsmalloc!
it's BUGGED for us.