mach-msm/Kconfig: add CMDLINE_OPTIONS
SCHEDULER: Autogroup patch group by current user android UID instead of task ID
lib/memcopy: use glibc version

the kernel's memcpy and memmove is very inefficient. But the glibc version is
quite fast, in some cases it is 10 times faster than the kernel version. So I
introduce some memory copy macros and functions of the glibc to improve the
kernel version's performance.

The strategy of the memory functions is:
1. Copy bytes until the destination pointer is aligned.
2. Copy words in unrolled loops.  If the source and destination are not
   aligned in the same way, use word memory operations, but shift and merge
   two read words before writing.
3. Copy the few remaining bytes.

Signed-off-by: Miao Xie <miaox*******>

Conflicts:

	lib/Makefile
lib/string: use glibc version

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

Signed-off-by: Miao Xie <miaox*******>

Conflicts:

	lib/string.c
Optimized ARM RWSEM algorithm

RWSEM implementation for ARM using atomic functions.
Heavily based on arch/sh/include/asm/rwsem.h

Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
kernel/return_address.c: hide warning

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Input: Send events one packet at a time

On heavy event loads, such as a multitouch driver, the irqsoff latency
can be as high as 250 us.  By accumulating a frame worth of data
before passing it on, the latency can be dramatically reduced.  As a
side effect, the special EV_SYN handling can be removed, since the
frame is now atomic.

This patch adds the events() handler callback and uses it if it
exists. The latency is improved by 50 us even without the callback.

Change-Id: Iebd9b1868ae6300a922a45b6d104e7c2b38e4cf5
Cc: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>

Input: Improve the events-per-packet estimate

The events-per-packet estimate has so far been used by MT devices
only. This patch adjusts the packet buffer size to also accomodate the
KEY and MSC events.  Keyboards normally send one or two keys at a
time. MT devices normally send a number of button keys along with the
MT information.  The buffer size chosen here covers those cases, and
matches the default buffer size in evdev. Since the input estimate is
now preferred, remove the special input-mt estimate.

Reviewed-and-tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
switch do_fsync() to fget_light()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
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.

Platform   CPU SPeed    Endian   Before (bps)   After (bps)   Improvement

IXP425      533 MHz      big     11217042        15566294        ~38%
KS8695      166 MHz     little    3828549         5795373        ~51%

Signed-off-by: David McCullough <ucdevel@gmail.com>
Signed-off-by: faux123 <reioux@gmail.com>
cpufreq: Remove rwsem lock from CPUFREQ_GOV_STOP call (again)

We need to unlock the semaphore due to an enabled conservative governor and
those old input hook commits.

We should get rid of the unused input boost functions, for now this is good
enough.

<4>[ 1338.237854] ------------[ cut here ]------------
<4>[ 1338.238067] WARNING: at fs/sysfs/dir.c:508 sysfs_add_one+0x7c/0x9c()
<4>[ 1338.238189] sysfs: cannot create duplicate filename '/devices/system/cpu/c
pufreq/conservative'
<4>[ 1338.238403] [<c010c204>] (unwind_backtrace+0x0/0xe0) from [<c0167a18>] (wa
rn_slowpath_common+0x48/0x60)
<4>[ 1338.238616] [<c0167a18>] (warn_slowpath_common+0x48/0x60) from [<c0167a88>
] (warn_slowpath_fmt+0x2c/0x3c)
<4>[ 1338.238830] [<c0167a88>] (warn_slowpath_fmt+0x2c/0x3c) from [<c026dc38>] (
sysfs_add_one+0x7c/0x9c)
<4>[ 1338.238952] [<c026dc38>] (sysfs_add_one+0x7c/0x9c) from [<c026de34>] (crea
te_dir+0x58/0xb0)
<4>[ 1338.239166] [<c026de34>] (create_dir+0x58/0xb0) from [<c026e0e0>] (sysfs_c
reate_subdir+0x18/0x1c)
<4>[ 1338.241058] [<c026e0e0>] (sysfs_create_subdir+0x18/0x1c) from [<c026f530>]
 (internal_create_group+0x84/0x1e0)
<4>[ 1338.241180] [<c026f530>] (internal_create_group+0x84/0x1e0) from [<c059ee5
4>] (cpufreq_governor_dbs+0x22c/0x3f8)
<4>[ 1338.241302] [<c059ee54>] (cpufreq_governor_dbs+0x22c/0x3f8) from [<c059a06
c>] (__cpufreq_governor+0x50/0x5c)
<4>[ 1338.241394] [<c059a06c>] (__cpufreq_governor+0x50/0x5c) from [<c059a198>]
(__cpufreq_set_policy+0x120/0x168)
<4>[ 1338.241516] [<c059a198>] (__cpufreq_set_policy+0x120/0x168) from [<c059a85
0>] (cpufreq_add_dev_interface+0x274/0x2c4)
<4>[ 1338.241577] [<c059a850>] (cpufreq_add_dev_interface+0x274/0x2c4) from [<c0
59ac84>] (cpufreq_add_dev+0x3e4/0x43c)
<4>[ 1338.241699] [<c059ac84>] (cpufreq_add_dev+0x3e4/0x43c) from [<c0907e70>] (
cpufreq_cpu_callback+0x88/0x9c)
<4>[ 1338.241821] [<c0907e70>] (cpufreq_cpu_callback+0x88/0x9c) from [<c0189b34>
] (notifier_call_chain+0x38/0x68)
<4>[ 1338.241943] [<c0189b34>] (notifier_call_chain+0x38/0x68) from [<c0169958>]
 (__cpu_notify+0x28/0x40)
<4>[ 1338.242065] [<c0169958>] (__cpu_notify+0x28/0x40) from [<c0905c30>] (_cpu_
up+0xc8/0x1a8)
<4>[ 1338.242156] [<c0905c30>] (_cpu_up+0xc8/0x1a8) from [<c0905d74>] (cpu_up+0x
64/0x84)
<4>[ 1338.242248] [<c0905d74>] (cpu_up+0x64/0x84) from [<c0903fac>] (decide_hotp
lug_func+0x1e8/0x2ec)
<4>[ 1338.242370] [<c0903fac>] (decide_hotplug_func+0x1e8/0x2ec) from [<c017f108
>] (process_one_work+0x204/0x410)
<4>[ 1338.242462] [<c017f108>] (process_one_work+0x204/0x410) from [<c017f4c8>]
(worker_thread+0x188/0x2a8)
<4>[ 1338.242584] [<c017f4c8>] (worker_thread+0x188/0x2a8) from [<c0184390>] (kt
hread+0x84/0x94)
<4>[ 1338.242675] [<c0184390>] (kthread+0x84/0x94) from [<c0106d8c>] (kernel_thr
ead_exit+0x0/0x8)
<4>[ 1338.242767] ---[ end trace e6d9e62662a91860 ]---
cpufreq: Always update frequency limits when setting a new policy