arm/crypto: Add optimized AES and SHA1 routines

Add assembler versions of AES and SHA1 for ARM platforms.  This has provided
up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1.

Signed-off-by: David McCullough <ucdevel@gmail.com>
backport CPUIDLE from 3.5
Backport AIO (Asynchronous IO) from Linux 3.5
vfp: Change -mfpu=softvfp+vfp to neon

Thanks to Fishears for the idea!

Change-Id: Ie5086137ffefa818b5d4af16ec7f8658105957e2
Use AIO
Improve memcopy/memmove

Thanks to DerTeufel!

Change-Id: Ie549325afdb82a9ba265c6804e72778cf6bb51de
Improve the performance of memcpy and memmove

The performance of memcpy and memmove of the general version is very inefficient, this patch improved them.

Change-Id: Id3e3d4bae07fedccb0fb97ac916dcb0897b128b7
Signed-off-by: Miao Xie <miaox <at> cn.fujitsu.com>
tmpfs: fix mempolicy object leaks

This patch fixes several mempolicy leaks in the tmpfs mount logic.
These leaks are slow - on the order of one object leaked per mount
attempt.

Leak 1 (umount doesn't free mpol allocated in mount):
    while true; do
        mount -t tmpfs -o mpol=interleave,size=100M nodev /mnt
        umount /mnt
    done

Leak 2 (errors parsing remount options will leak mpol):
    mount -t tmpfs -o size=100M nodev /mnt
    while true; do
        mount -o remount,mpol=interleave,size=x /mnt 2> /dev/null
    done
    umount /mnt

Leak 3 (multiple mpol per mount leak mpol):
    while true; do
        mount -t tmpfs -o mpol=interleave,mpol=interleave,size=100M nodev /mnt
        umount /mnt
    done

This patch fixes all of the above.  I could have broken the patch into
three pieces but is seemed easier to review as one.

Signed-off-by: Greg Thelen <gthelen@google.com>
modified for Mako kernel from LKML reference

Signed-off-by: faux123 <reioux@gmail.com>
random: entropy tweaks are all the rage nowadays

use nonblocking for all.  Read this web page:
http://lwn.net/Articles/489734/