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>

Conflicts:
	kernel/sched/fair.c

Change-Id: I4ca60be0d759d4881fad55be78d9f075aea50121
msm: smsm: Rename LTE Coexistence Bit

The LTE Coexistence bit has been renamed to just SMSM_PROC_AWAKE since
it is now being used for more general is-processor-awake signaling.

Change-Id: I9007c6c91ce3338c790864bf09318edbcb6d50c0
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
msm: smsm: Add processor AWAKE signaling
This processor-awake signaling can be used by remote processors to
determine if the Apps processor is asleep and if so, if it wants to send
data to the Apps processor that would trigger a wakeup sequence.

Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/smd.c

Change-Id: Id6f1da8727571070fbfca898745bce9efd461a12
Merge changes Id6f1da87,I9007c6c9,I4ca60be0 into cm-10.2

* changes:
  msm: smsm: Add processor AWAKE signaling This processor-awake signaling can be used by remote processors to determine if the Apps processor is asleep and if so, if it wants to send data to the Apps processor that would trigger a wakeup sequence.
  msm: smsm: Rename LTE Coexistence Bit
  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.
msm: kgsl: Use the kmalloc/vmalloc trick for the sharedmem page array

It was previously assumed that most GPU memory allocations would be
small enough to allow us to fit the array of page pointers into one
or two pages allocated via kmalloc.  Recent reports have proven
those assumptions to be wrong - allocations on the order of 32MB will
end up trying to get 8 pages from kmalloc and 8 contiguous pages
on a busy system are a rare beast indeed.

So use the usual kmalloc/vmalloc trick instead - use kmalloc for the
page array when we can and vmalloc if we can't.

CRs-fixed: 513469
Change-Id: Ic0dedbad0a5b14abe6a8bd73342b3e68faa8c8b7
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>