tcp: Proportional Rate Reduction for TCP

credits to faux123
block : Zen I/O scheduler

Q: What is the zen I/O scheduler?
A: Well, the question that was asked above led me to an analysis of V(R ), deadline, and some others. I already knew, but realized "this is the main feature of V(R), but wait it has no benefit to us smartphone users." So I thought about adjusting the way V(R ) handled requests and how it dispatched them (I chose V(R ) because i'd rather not tinker with a scheduler thats official and widely supported). Then I was looking over it, and realized I might as well just write a new one I don't need any of this stuff. So I came up with something awfully similar to SIO, although its a bit simpler than SIO (closer to no-op) and works just slightly different.
- It's an FCFS (First come, first serve) based algorithm. It's not strictly FIFO. It does not do any sorting. It uses deadlines for fairness, and treats synchronous requests with priority over asynchronous ones. Other than that, pretty much the same as no-op.
Arch arm : Correctly handle unaligned access + arch_extension sec + cpu_alignment
build_env: block unaligned-access code generation
mmc: disable crc for better performance
arm: Neon & hard-float support
ARM: Add optimised swahb32() byteswap helper
ARM-spinlock: use ticket algorithm for ARMv6+ locking implementation
ARM: L1 cache optimization
Some Build tweaks
filter multicast packages while suspended.

in some crowded WLANs, with a lot of multicast packages circulating,
the device would not enter deep sleep.
this will allow the device to enter deep sleep.
Updated v2.9 defconfig and build script