drivers: misc: update fsa9480 i2c driver power management

Actually this driver is using a legacy power management.
So, let's update it.

<4>[    2.576457] i2c-core: driver [fsa9480] using legacy suspend method
<4>[    2.576647] i2c-core: driver [fsa9480] using legacy resume method

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ic15a453e38ae37788a5b4bfe57b8f0440f28206a
drivers: input: misc: bma023: set correct ioctl pointer

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ic2da59494e311bbeb56ace70d9c5b01517168752
drivers: input: misc: bma023: fix gcc warnings

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ie0f47e7291eac3e336600c8cb9682a6fa1b14030
drivers: input: misc: yas529: update power management

<4>[    4.705498] i2c-core: driver [yas529] using legacy suspend method
<4>[    4.705695] i2c-core: driver [yas529] using legacy resume method

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I0453e913542a97292ccb6e625f4c9f446a364ea3
drivers: media: radio: si4709: set correct ioctl pointer

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ibe86aab415e21d6f1d458904e9c1c36dcafaa443
drivers: media: radio: si4709: update power management

<4>[    4.722171] i2c-core: driver [Si4709] using legacy suspend method
<4>[    4.722351] i2c-core: driver [Si4709] using legacy resume method

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I5e4a92bed7bb53f351985b9ef6c97ff7967e6de3
drivers: media: video: samsung: tv20: update ddc power management

<4>[    4.715451] i2c-core: driver [s5p_ddc] using legacy suspend method
<4>[    4.715643] i2c-core: driver [s5p_ddc] using legacy resume method

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: Ib9ddcef3f51ce7de6ff16431c3a445c2f7a8d543
ARM: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ && MMU

Modern ARM CPUs can perform efficient unaligned memory accesses in
hardware and this feature is relied up on by code such as the dcache
word-at-a-time name hashing.

[pawitp: adapt to kernel 3.0]

Change-Id: I41559fc9255229e2601f4bef28aa8d48246156b7
Signed-off-by: Will Deacon <will.deacon@arm.com>

Conflicts:
	arch/arm/Kconfig
block: Reserve only one queue tag for sync IO if only 3 tags are available

In case a device has three tags available we still reserve two of them
for sync IO. That leaves only a single tag for async IO such as
writeback from flusher thread which results in poor performance.

Allow async IO to consume two tags in case queue has three tag availabe
to get a decent async write performance.

This patch improves streaming write performance on a machine with such disk
from ~21 MB/s to ~52 MB/s. Also postmark throughput in presence of
streaming writer improves from 8 to 12 transactions per second so sync
IO doesn't seem to be harmed in presence of heavy async writer.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
softirq: reduce latencies

Date	Thu, 03 Jan 2013 23:49:40 -0800

In various network workloads, __do_softirq() latencies can be up
to 20 ms if HZ=1000, and 200 ms if HZ=100.

This is because we iterate 10 times in the softirq dispatcher,
and some actions can consume a lot of cycles.

This patch changes the fallback to ksoftirqd condition to :

- A time limit of 2 ms.
- need_resched() being set on current task

When one of this condition is met, we wakeup ksoftirqd for further
softirq processing if we still have pending softirqs.

Using need_resched() as the only condition can trigger RCU stalls,
as we can keep BH disabled for too long.

I ran several benchmarks and got no significant difference in
throughput, but a very significant reduction of latencies (one order
of magnitude) :

In following bench, 200 antagonist "netperf -t TCP_RR" are started in
background, using all available cpus.

Then we start one "netperf -t TCP_RR", bound to the cpu handling the NIC
IRQ (hard+soft)

Before patch :

RT_LATENCY,MIN_LATENCY,MAX_LATENCY,P50_LATENCY,P90_LATENCY,P99_LATENCY,MEAN_LATENCY,STDDEV_LATENCY
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET
to 7.7.7.84 () port 0 AF_INET : first burst 0 : cpu bind
RT_LATENCY=550110.424
MIN_LATENCY=146858
MAX_LATENCY=997109
P50_LATENCY=305000
P90_LATENCY=550000
P99_LATENCY=710000
MEAN_LATENCY=376989.12
STDDEV_LATENCY=184046.92
After patch :

RT_LATENCY,MIN_LATENCY,MAX_LATENCY,P50_LATENCY,P90_LATENCY,P99_LATENCY,MEAN_LATENCY,STDDEV_LATENCY
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET
to 7.7.7.84 () port 0 AF_INET : first burst 0 : cpu bind
RT_LATENCY=40545.492
MIN_LATENCY=9834
MAX_LATENCY=78366
P50_LATENCY=33583
P90_LATENCY=59000
P99_LATENCY=69000
MEAN_LATENCY=38364.67
STDDEV_LATENCY=12865.26

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: David Miller <davem@davemloft.net>
Cc: Tom Herbert <therbert@google.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
fs: vfat: reduce the worst case latencies

When a block partition is mounted with FAT file system
and MS_DIRSYNC option is used, some file system operations
like create, rename shall sleep in caller's context until
all the metadata have been committed to the non-volatile memory.
Since this operation is blocking call for user context,
the WRITE_SYNC option must be used instead of WRITE
(async operation) which incur inherent latencies while
flushing the meta-data corresponding to directory entries

Change-Id: I41c514889873a39d564271db0a421e6c66e5ae33
Signed-off-by: xiaogang <xiaogang@codeaurora.org>
mm: Lowered swappiness 60->45
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>
Improve memcopy/memmove

Thanks to DerTeufel!

Change-Id: Ie549325afdb82a9ba265c6804e72778cf6bb51de
ARM: move VFP init to an earlier boot stage

In order to use the NEON unit in the kernel, we should
initialize it a bit earlier in the boot process so NEON users
that like to do a quick benchmark at load time (like the
xor_blocks or RAID-6 code) find the NEON/VFP unit already
enabled.

Replaced late_initcall() with core_initcall().

Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Acked-by: Nicolas Pitre <nico at linaro.org>

Signed-off-by: Paul Reioux <reioux@gmail.com>

Conflicts:
	arch/arm/vfp/vfpmodule.c

Conflicts:
	Makefile
ARM: be strict about FP exceptions in kernel mode

The support code in vfp_support_entry does not care whether the
exception that caused it to be invoked occurred in kernel mode or
in user mode. However, neither condition that could trigger this
exception (lazy restore and VFP bounce to support code) is
currently allowable in kernel mode.

In either case, print a message describing the condition before
letting the undefined instruction handler run its course and trigger
an oops.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Acked-by: Nicolas Pitre <nico at linaro.org>
Signed-off-by: Paul Reioux <reioux@gmail.com>
module.h: split out the EXPORT_SYMBOL into export.h

A lot of files pull in module.h when all they are really
looking for is the basic EXPORT_SYMBOL functionality. The
recent data from Ingo[1] shows that this is one of several
instances that has a significant impact on compile times,
and it should be targeted for factoring out (as done here).

Note that several commonly used header files in include/*
directly include <linux/module.h> themselves (some 34 of them!)
The most commonly used ones of these will have to be made
independent of module.h before the full benefit of this change
can be realized.

We also transition THIS_MODULE from module.h to export.h,
since there are lots of files with subsystem structs that
in turn will have a struct module *owner and only be doing:

	.owner = THIS_MODULE;

and absolutely nothing else modular. So, we also want to have
the THIS_MODULE definition present in the lightweight header.

[1] https://lkml.org/lkml/2011/5/23/76

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
ccache for makefile
o3 makefile
cpufreq: interactive: decrease timer_slack to 70ms

4 * timer_rate could lead to enourmous defferable timer and sometimes,
even during screen off we might need cpufreq to react fast so lowered
timer_slack will help with that. This is specific to interactive, other
governors handle their routines differently.