Backport sched: Implement smarter wake-affine logic

Linus' tree 62470419e993f8d9d93db0effd3af4296ecb79a5
Backport linus 8bf21433f38b020c3d8a3805d1d7fb73d7b40c01
Backport 7d9ffa8961482232d964173cccba6e14d2d543b2
kswapd nonsense
add gitignore
Merge: broadcast irq affinity spurious wakeups of random CPUs

From: <https://github.com/GuneetAtwal/kernel_g900p/commit/2c9f457709eb32a9f99e1327b443470b0b44f68c.patch>