Use latest toolchain.

Signed-off-by: Tianrui Guo <tianrui@pac-rom.com>
cgroups: introduce timer slack controller

Changelog:

v9:
 - update documentation
 - minor cleanup
v8:
 - change hiearchy rules
 - introduce timer_slack.effective_slack_ns
 - get_task_timer_slack() -> task_get_effective_timer_slack()
 - task_get_effective_timer_slack() splited in separate patch
 - implement PR_GET_EFFECTIVE_TIMERSLACK
v7:
 - totally reworked interface and rewritten from scratch
   (See Documentation/cgroups/timer_slack.txt for more information)
v6:
 - add documentation
 - use notifier_call_chain() instead of check hook
 - fix validate_change()
 - cleanup
v5:
 - -EBUSY on writing to timer_slack.min_slack_ns/max_slack_ns if a child has
   wider min-max range
v4:
 - hierarchy support
 - drop dummy_timer_slack_check()
 - workaround lockdep false (?) positive
 - allow 0 as timer slack value
v3:
 - rework interface
 - s/EXPORT_SYMBOL/EXPORT_SYMBOL_GPL/
v2:
 - fixed with CONFIG_CGROUP_TIMER_SLACK=y
v1:
 - initial revision
cgroup/timer_slack: fix cgroup permission errors

Since the common mounting of cpu and timer_slack into /dev/cpuctl
in commit
https://github.com/boype/kernel_tuna_jb42/commit/f23ab456002c2d3b416260862dbfdb82b031a450
the Android OS cannot move processes across cgoups anymore:

    W/SchedPolicy( 1180): add_tid_to_cgroup failed to write '5949'
    (Permission denied); policy=0

Fix this by implementing an 'allow_attach' handler, according to
this commit:
https://github.com/boype/kernel_tuna_jb42/commit/bb5b603036b99d80527b222dc98eba4ee8341020

Signed-off-by: Boy Petersen <boypetersen@gmail.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Revert "block: Switch from BFQ-v5 for 3.1.0 to BFQ-v5r1 for 3.1.0."

This reverts commit f298239a4a165775654ba2627f6869bb0c79b8b1.
Revert "Block: Add the BFQ-v5 I/O scheduler to 3.1"

This reverts commit 364dcd13849acaa7f04cca6fbb992c0cd3961388.

Conflicts:
	include/linux/cgroup_subsys.h
defconfig: enable cgroup timer slack
block: prepare I/O context code for BFQ-v6r2 for 3.1
block: cgroups, kconfig, build bits for BFQ-v6r2-3.1
block: cgroups, kconfig, build bits for BFQ-v6r2-3.1
block: introduce the BFQ-v6r2 I/O sched for 3.1
block, bfq: add Early Queue Merge (EQM) to BFQ-v6r2 for 3.1.0