iosched: prevent aliased requests from starving other I/O

Hi, Jens,

If you recall, I posted an RFC patch for this back in July of last year:
http://lkml.org/lkml/2010/7/13/279

The basic problem is that a process can issue a never-ending stream of
async direct I/Os to the same sector on a device, thus starving out
other I/O in the system (due to the way the alias handling works in both
cfq and deadline).  The solution I proposed back then was to start
dispatching from the fifo after a certain number of aliases had been
dispatched.  Vivek asked why we had to treat aliases differently at all,
and I never had a good answer.  So, I put together a simple patch which
allows aliases to be added to the rb tree (it adds them to the right,
though that doesn't matter as the order isn't guaranteed anyway).  I
think this is the preferred solution, as it doesn't break up time slices
in CFQ or batches in deadline.  I've tested it, and it does solve the
starvation issue.  Let me know what you think.

Cheers,
Jeff

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block: sio and deadline tweaks

Conflicts:

	block/deadline-iosched.c
Input: evdev - Don't hold wakelock when no data is available to user-space

If there is no SYN_REPORT event in the buffer the buffer data is invisible
to user-space. The wakelock should not be held in this case.

Change-Id: Idae890ff0da8eb46a2cfce61a95b3a97252551ad
Signed-off-by: Arve Hjønnevåg <arve@android.com>
sched/nohz: Fix rq->cpu_load[] calculations

While investigating why the load-balancer did funny I found that the
rq->cpu_load[] tables were completely screwy.. a bit more digging
revealed that the updates that got through were missing ticks followed
by a catchup of 2 ticks.

The catchup assumes the cpu was idle during that time (since only nohz
can cause missed ticks and the machine is idle etc..) this means that
esp. the higher indices were significantly lower than they ought to
be.

The reason for this is that its not correct to compare against jiffies
on every jiffy on any other cpu than the cpu that updates jiffies.

This patch cludges around it by only doing the catch-up stuff from
nohz_idle_balance() and doing the regular stuff unconditionally from
the tick.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: pjt@google.com
Cc: Venkatesh Pallipadi <venki@google.com>
Link: http://lkml.kernel.org/n/tip-tp4kj18xdd5aj4vvj0qg55s2@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
modified for Linux 3.0 from Linux 3.4+ by faux123
various: compilation fixes for gcc 4.6

These changes are required to compile successfully with
gcc version 4.6.

The -Wno-address option is applied to some files to
bypass a warning triggered by an rcu macro. The
warning is fixed cleanly upstream, but that fix is too
risky to backport, so it is better to just silence it
this way.

Change-Id: I787ad2db6e649d29874b7b624c2b28f686236466
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/Makefile
Merge d2vzw kernel code into core d2 kernel
Added default CM config for d2vzw
Don't disable hard reset on d2vzw

Squashed commit of the following:

commit 8568ef511cb0d2ac0f284820d18651fb163cb12c
Merge: e9060a9 f9d00ba
Author: Mike Kasick <mike@kasick.org>
Date:   Mon Jul 9 12:52:55 2012 -0400

    Merge branch 'upstream' into ics_vzw

    Conflicts:
        Makefile
        arch/arm/configs/m2_vzw_defconfig

    Reverted to 'upstream':
        arch/arm/configs/m2_spr_defconfig
        arch/arm/mach-msm/board-m2_spr.c

commit f9d00ba8124fba0eedd9a139da02b8dd56705df2
Author: Mike Kasick <mike@kasick.org>
Date:   Mon Jul 9 12:36:07 2012 -0400

    Merge d2vzw (SCH-I535 LF2/LG1) source release.

commit e9060a969b0c992790210fb3caa2244407cdf294
Author: Mike Kasick <mike@kasick.org>
Date:   Sun Jul 8 04:40:40 2012 -0400

    Add d2vzw in README.

commit defeb6f30eaf9548a0193122be140a7f8e65e299
Author: Mike Kasick <mike@kasick.org>
Date:   Sun Jul 8 01:45:09 2012 -0400

    Add kexec hardboot support for d2vzw.

commit 66391d197bfed4d8949d0bfcfc1a59d15453a2a7
Author: Mike Kasick <mike@kasick.org>
Date:   Sun Jul 8 01:20:54 2012 -0400

    Add ram_console support for d2vzw.

    - Place in the last 1 MB of RAM, in high memory.
    - Exclude the final 4 kB for the kexec hardboot page.

commit 9d0f23ec2fdb143ce27a70d7374a7860481990c1
Author: Mike Kasick <mike@kasick.org>
Date:   Sun Jul 8 01:19:00 2012 -0400

    Regenerate m2_vzw_defconfig.

Change-Id: I595b52ffce723eae85431ee5c1dd8311050e89aa
Signed-off-by: Austen Dicken <cvpcsm@gmail.com>

Conflicts:

	Makefile
	arch/arm/configs/m2_vzw_defconfig
Merge branch 'jellybean' of https://github.com/AOSP-d2vzw/platform_kernel_samsung_d2 into jellybean

Conflicts:
	arch/arm/configs/m2_vzw_defconfig