sched: Improve scalability via 'CPU buddies', which withstand random perturbations

Traversing an entire package is not only expensive, it also leads to tasks
bouncing all over a partially idle and possible quite large package.  Fix
that up by assigning a 'buddy' CPU to try to motivate.  Each buddy may try
to motivate that one other CPU, if it's busy, tough, it may then try its
SMT sibling, but that's all this optimization is allowed to cost.

Sibling cache buddies are cross-wired to prevent bouncing.

4 socket 40 core + SMT Westmere box, single 30 sec tbench runs, higher is better:

 clients     1       2       4        8       16       32       64      128
 ..........................................................................
 pre        30      41     118      645     3769     6214    12233    14312
 post      299     603    1211     2418     4697     6847    11606    14557

A nice increase in performance.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

Conflicts:

	kernel/sched/core.c
	kernel/sched/fair.c
Tune writeback
Allow CPU Based Alignment Handling

Signed-off-by: Willi Ye <williye97@gmail.com>

Conflicts:
	arch/arm/configs/tuna-tw_defconfig
	arch/arm/configs/tuna180_defconfig
	arch/arm/configs/tuna_defconfig
gpu: pvr: bypass compat check if version is same but build # is different
netfilter: xt_qtaguid: Allow tracking loopback

In the past it would always ignore interfaces with loopback addresses.
Now we just treat them like any other.
This also helps with writing tests that check for the presence
of the qtaguid module.

Signed-off-by: JP Abgrall <jpa@google.com>
net: wireless: bcmdhd: Enable SUPPORT_PM2_ONLY mode

Change-Id: I4f8132191454f0a12f7613388229fed9be5216c9
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
net: wireless: bcmdhd: no need for power mode anymore

Conflicts:
	drivers/net/wireless/bcmdhd/dhd_linux.c