dts: gpu: remove duplicates freqs (even though being duplicates they had different bus values).

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
dts: mdss: reduce the display voltage for (hopefully) increased battery during screen on.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: add a mode to online all cores if the GPU busy count is very high for at least 8-10 consecutive seconds.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
msm: therma: fix a derp where the device would be slammered to 729Mhz if it reached the thermal throttle threshold.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
msm: gpu: improve my gpu governor algorithm.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
msm: mdss: Finalize gamma interface and cleanup

- Remove all sysfs files of unused commands
- Remove auto sync for negative polarities, these must be written separately
- Protect offset bit of white point command as well
- Apply white point bit 2 as duplicate of bit 1

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
msm: mdss: Send panel commands via separate function

Sending panel comnmands is very expensive, add a separate function to
accomplish this. Once all commands have been stored write anything to
the kgamma_send file.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
debug: make the Kernel leaner - picked from @morfic

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
arm: remove tracing options.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Revert "lib: vsprintf: remove warning."

This reverts commit 3041cc2167527419cecb9b3b11b073d1ef1c909e.
Revert "Squash vsprintf from upstream."

This reverts commit 0ed6137ec0a08abaf5b724ecf353dad893b3d33d.
Revert "Added BITS_PER_LONG_LONG definition avoiding lib/vsprintf.c errors."

This reverts commit b7dacad8a28d9969c96642aac306416260f13eb1.
Revert "userns: Add a Kconfig option to enforce strict kuid and kgid type checks"

This reverts commit b2d63baf51a618bff5d26ff75bcc5f6c5a1af27d.
Revert "userns: Add kuid_t and kgid_t and associated infrastructure in uidgid.h"

This reverts commit 01d3441f0bcfdf0b42235cf9747c42b682975ff1.
mako_hotplug: disable gpu_busy_quad_mode by default.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Revert "arm: remove tracing options."

This reverts commit d2cee3fb26f90825f872226902d20c013a4157f6.
cpufreq: interactive: instead of using choose_freq() to calculate the new_freq lets try a more ondemand approach by using the actual load scaling to make it more consistent, specially when gaming.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Revert "dts: panel: make colors saturated and vivid. Also whites are whiter."

According to faux we should not mess with this set of bits, so with lack of better evidence lets revert it.

This reverts commit 6747c5003dba8fda142b7a4041db3033dda6d036.
sched: Fix select_idle_sibling() bouncing cow syndrome

If the previous CPU is cache affine and idle, select it.

The current implementation simply traverses the sd_llc domain,
taking the first idle CPU encountered, which walks buddy pairs
hand in hand over the package, inflicting excruciating pain.

1 tbench pair (worst case) in a 10 core + SMT package:

  pre   15.22 MB/sec 1 procs
  post 252.01 MB/sec 1 procs

Signed-off-by: Mike Galbraith <bitbucket@online.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
sched: Implement smarter wake-affine logic

The wake-affine scheduler feature is currently always trying to pull
the wakee close to the waker. In theory this should be beneficial if
the waker's CPU caches hot data for the wakee, and it's also beneficial
in the extreme ping-pong high context switch rate case.

Testing shows it can benefit hackbench up to 15%.

However, the feature is somewhat blind, from which some workloads
such as pgbench suffer. It's also time-consuming algorithmically.

Testing shows it can damage pgbench up to 50% - far more than the
benefit it brings in the best case.

So wake-affine should be smarter and it should realize when to
stop its thankless effort at trying to find a suitable CPU to wake on.

This patch introduces 'wakee_flips', which will be increased each
time the task flips (switches) its wakee target.

So a high 'wakee_flips' value means the task has more than one
wakee, and the bigger the number, the higher the wakeup frequency.

Now when making the decision on whether to pull or not, pay attention to
the wakee with a high 'wakee_flips', pulling such a task may benefit
the wakee. Also imply that the waker will face cruel competition later,
it could be very cruel or very fast depends on the story behind
'wakee_flips', waker therefore suffers.

Furthermore, if waker also has a high 'wakee_flips', that implies that
multiple tasks rely on it, then waker's higher latency will damage all
of them, so pulling wakee seems to be a bad deal.

Thus, when 'waker->wakee_flips / wakee->wakee_flips' becomes
higher and higher, the cost of pulling seems to be worse and worse.

The patch therefore helps the wake-affine feature to stop its pulling
work when:

	wakee->wakee_flips > factor &&
	waker->wakee_flips > (factor * wakee->wakee_flips)

The 'factor' here is the number of CPUs in the current CPU's NUMA node,
so a bigger node will lead to more pulling since the trial becomes more
severe.

After applying the patch, pgbench shows up to 40% improvements and no regressions.

Tested with 12 cpu x86 server and tip 3.10.0-rc7.

The percentages in the final column highlight the areas with the biggest wins,
all other areas improved as well:

	pgbench		    base	smart

	| db_size | clients |  tps  |	|  tps  |
	+---------+---------+-------+   +-------+
	| 22 MB   |       1 | 10598 |   | 10796 |
	| 22 MB   |       2 | 21257 |   | 21336 |
	| 22 MB   |       4 | 41386 |   | 41622 |
	| 22 MB   |       8 | 51253 |   | 57932 |
	| 22 MB   |      12 | 48570 |   | 54000 |
	| 22 MB   |      16 | 46748 |   | 55982 | +19.75%
	| 22 MB   |      24 | 44346 |   | 55847 | +25.93%
	| 22 MB   |      32 | 43460 |   | 54614 | +25.66%
	| 7484 MB |       1 |  8951 |   |  9193 |
	| 7484 MB |       2 | 19233 |   | 19240 |
	| 7484 MB |       4 | 37239 |   | 37302 |
	| 7484 MB |       8 | 46087 |   | 50018 |
	| 7484 MB |      12 | 42054 |   | 48763 |
	| 7484 MB |      16 | 40765 |   | 51633 | +26.66%
	| 7484 MB |      24 | 37651 |   | 52377 | +39.11%
	| 7484 MB |      32 | 37056 |   | 51108 | +37.92%
	| 15 GB   |       1 |  8845 |   |  9104 |
	| 15 GB   |       2 | 19094 |   | 19162 |
	| 15 GB   |       4 | 36979 |   | 36983 |
	| 15 GB   |       8 | 46087 |   | 49977 |
	| 15 GB   |      12 | 41901 |   | 48591 |
	| 15 GB   |      16 | 40147 |   | 50651 | +26.16%
	| 15 GB   |      24 | 37250 |   | 52365 | +40.58%
	| 15 GB   |      32 | 36470 |   | 50015 | +37.14%

Signed-off-by: Michael Wang <wangyun@linux.vnet.ibm.com>
Cc: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/51D50057.9000809@linux.vnet.ibm.com
[ Improved the changelog. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

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