block: Adding ROW scheduling algorithm

This patch adds the implementation of a new scheduling algorithm - ROW.
The policy of this algorithm is to prioritize READ requests over WRITE
as much as possible without starving the WRITE requests.
[PATCH] SCHEDULER: Autogroup patch group by current user android UID
 instead of task ID
Revert "gpu: ion: Use writecombine for uncached mappings When we map ion buffers as uncached we want to map them as uncached but still be able to use buffering of transactions since turning off buffering has a severe performance impact."

This reverts commit 0329223e91c4f04d91036291f2942b8ef0139d68.
touchscreen: tweak some initialization parameters for better UI response
cpufreq: interactive: upgrade to Google's latest 3.4

Reference:
https://android.googlesource.com/kernel/common.git/+/android-3.4
cpufreq: interactive: marry governor boostpulse with auto_hotplug
boostpulse.

Limit boosted cores to 2 since that matches with what auto_hotplug
boostpulse brings online. Under lighter smp loads, this isn't needed,
but under already higher smp loads, we will boost more than 2 cores and
it doesn't seem necessary.
auto_hotplug: enhancements (rev 2)

1) Added ability to change the number of sampling_periods on the fly via
sysfs (while preserving past history).

2) Added get/set for module parameters so user's can't set incorrect or
unreasonable values.

3) Tweaked defaults

4) Don't wait as long to start auto_hotplug (referenced franco's
git). Today's devices are much faster to boot however
if this code is ported to a slower core device, it may need to be
raised.

5) Debug mode tweaks
-Organize and reduce the number of line output.
-Attempt to make output more user friendly for those that aren't
reading the code.
cpufreq: interactive: Added DEFAULT_BOOSTPULSE_FREQ