trace/events: add gpu trace events

Change-Id: I0607b9c776acf61cb796b8572cf8cfb8b2dc1377
Signed-off-by: Jamie Gennis <jgennis@google.com>
arch:arm:configs: Reorganize defconfig and add GPU_TRACEPOINTS
net: ipv6: Don't purge default router if accept_ra=2

Setting net.ipv6.conf.<interface>.accept_ra=2 causes the kernel
to accept RAs even when forwarding is enabled. However, enabling
forwarding purges all default routes on the system, breaking
connectivity until the next RA is received. Fix this by not
purging default routes on interfaces that have accept_ra=2.

Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
block: fix synchronization and limit check in blk_alloc_devt()

commit ce23bba842aee98092225d9576dba47c82352521 upstream.

idr allocation in blk_alloc_devt() wasn't synchronized against lookup
and removal, and its limit check was off by one - 1 << MINORBITS is
the number of minors allowed, not the maximum allowed minor.

Add locking and rename MAX_EXT_DEVT to NR_EXT_DEVT and fix limit
checking.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Conflicts:
	block/genhd.c
Oserial: samsung: fix leaked requested irq

The s3c64xx_serial_startup() requests an IRQ, but the common
s3c24xx_serial_shutdown() would not free it.

s3c64xx_serial_startup() is used when
s3c24xx_serial_has_interrupt_mask(port) is true, at which point
  ourport->rx_claimed = ourport->tx_claimed = 1
so we only need to free in one of the claimed cases.

Change-Id: I8e17ce52cf48dbf3faa26ac24c8a71f016771f32
Signed-off-by: JP Abgrall <jpa@google.com>

Conflicts:
	drivers/tty/serial/samsung.c
arch:arm:configs: defconfig diable intellidemand ID_PERFLOCK - Thanks to Tarfu
block: Expose kblock_schedule_delayed_work()

This function is exported in blk-core.c to be used in other modules
but it's definition in h file is missing.

Change-Id: I3374d97774adf06c1f93e40f1d5e1daefb983571
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 87c7500d26ddddf2851bbe65190f5d8970b0346d)
block: row: Dispatch requests according to their io-priority

This patch implements "application-hints" which is a way the issuing
application can notify the scheduler on the priority of its request.
This is done by setting the io-priority of the request.
This patch reuses an already existing mechanism of io-priorities developed
for CFQ. Please refer to kernel/Documentation/block/ioprio.txt for
usage example and explanations.

Change-Id: I228ec8e52161b424242bb7bb133418dc8b73925a
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
block: row: Idling mechanism re-factoring

At the moment idling in ROW is implemented by delayed work that uses
jiffies granularity which is not very accurate. This patch replaces
current idling mechanism implementation with hrtime API, which gives
nanosecond resolution (instead of jiffies).

Change-Id: I86c7b1776d035e1d81571894b300228c8b8f2d92
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
block: row: Don't notify URGENT if there are un-completed urgent req

When ROW scheduler reports to the block layer that there is an urgent
request pending, the device driver may decide to stop the transmission
of the current request in order to handle the urgent one. If the current
transmitted request is an urgent request - we don't want it to be
stopped.
Due to the above ROW scheduler won't notify of an urgent request if
there are urgent requests in flight.

Change-Id: I2fa186d911b908ec7611682b378b9cdc48637ac7
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

Conflicts:
	block/row-iosched.c
block: row: Update initial values of ROW data structures

This patch sets the initial values of internal ROW
parameters.

Change-Id: I38132062a7fcbe2e58b9cc757e55caac64d013dc
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
[smuckle@codeaurora.org: ported from msm-3.7]
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
sched: Skip looking at skip if next or last is set

pick_next_entity() prefers next, then last. However code checks if the
left entity can be skipped even if next / last is set.

Check if left entity should be skipped only if next/last is not set.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
block: add REQ_URGENT to request flags
arch:arm:configs: defconfig disable SYSCALL_CHECK
Force the kernel to follow the UNALIGNED code path.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Use ccache so that it recompiles faster after a make clean.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	Makefile
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

Conflicts:
	block/Kconfig.iosched
	block/Makefile
+ sync with "https://github.com/AndroidDeveloperAlliance/ZenKernel_TUNA/" ...
arch:arm:configs: defconfig enable zen io scheduler
Tuned All I/O Govs to deliver better performance for ANDROID.
we want to give little more time to finish read/write before sync
so it's may prevent lag if sio/vr/zen/deadline govs used.

noop/fifo donr have any controls.
and row/bfq/cfq code not allow much tuning.

cfq + bfq made for HDD DISKS so we can disable them for good.
all the rest ok for android ssd flash cards.

Conflicts:
	block/deadline-iosched.c
	block/sio-iosched.c
	block/vr-iosched.c