Linux 3.0.74

Change-Id: I96725eda0980fe52cf01a33a5e5a58afb3b907b7
Signed-off-by: Rohan Mathur <rohanmathur34@gmail.com>
Linux 3.0.75

Change-Id: I3cd079ed9682afccbf531985104a30491950db98
Signed-off-by: Rohan Mathur <rohanmathur34@gmail.com>
Linux 3.0.76

Change-Id: If9b9086bea2d18a9eccfbf7a7746f4f346e6b0e9
Signed-off-by: Rohan Mathur <rohanmathur34@gmail.com>
update mpdecision with lastest showp1984 changes
update VDD interface and SYSF /thx to showp1984 and faux123)
adjust tabulation
crc32-replace-self-test.diff
Replaced the unit test provided in crc32.c, which doesn't have a
makefile and doesn't compile with current headers, with a simpler
self test routine that also gives a measure of performance and
runs at module init time. The self test option can be enabled
through a configuration option CONFIG_CRC32_SELFTEST.

The test stresses the pre and post loops and is thus not very
realistic since actual uses will likely have addresses and lengths
that are at least 4 byte aligned. However, the main loop is long
enough so that the performance is dominated by that loop.

The expected values for crc32_le and crc32_be were generated
with the original version of crc32.c using CRC_BITS_LE = 8 and
CRC_BITS_BE = 8. These values were then used to check all the
values of the BITS parameters in both the original and new versions.

The performance results show some variability from run to run
in spite of attempts to both warm the cache and reduce the amount
of OS noise by limiting interrutps during the test. To get comparable
results and to analyse options wrt performance the best time
reported over a small sample of runs has been taken.

Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>

Conflicts:
	lib/crc32.c
crc32: Bolt on crc32c
Reuse the existing crc32 code to stamp out a crc32c implementation.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>

Conflicts:

	include/linux/crc32.h

Conflicts:
	lib/crc32.c
	lib/crc32defs.h
	lib/gen_crc32table.c
crc32: Select an algorithm via kconfig
Allow the kernel builder to choose a crc32* algorithm for the kernel.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
crypto: crc32c should use library implementation
Since lib/crc32.c now provides crc32c, remove the software implementation here
and call the library function instead.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
kernel: add Linaro Topology drivers
Linaro Topology patches - Vincent Guittot
topology: update Linaro Topology driver
Proportional Rate Reduction for TCP.
This patch implements Proportional Rate Reduction (PRR) for TCP.
PRR is an algorithm that determines TCP's sending rate in fast
recovery. PRR avoids excessive window reductions and aims for
the actual congestion window size at the end of recovery to be as
close as possible to the window determined by the congestion control
algorithm. PRR also improves accuracy of the amount of data sent
during loss recovery.

The patch implements the recommended flavor of PRR called PRR-SSRB
(Proportional rate reduction with slow start reduction bound) and
replaces the existing rate halving algorithm. PRR improves upon the
existing Linux fast recovery under a number of conditions including:
  1) burst losses where the losses implicitly reduce the amount of
outstanding data (pipe) below the ssthresh value selected by the
congestion control algorithm and,
  2) losses near the end of short flows where application runs out of
data to send.

As an example, with the existing rate halving implementation a single
loss event can cause a connection carrying short Web transactions to
go into the slow start mode after the recovery. This is because during
recovery Linux pulls the congestion window down to packets_in_flight+1
on every ACK. A short Web response often runs out of new data to send
and its pipe reduces to zero by the end of recovery when all its packets
are drained from the network. Subsequent HTTP responses using the same
connection will have to slow start to raise cwnd to ssthresh. PRR on
the other hand aims for the cwnd to be as close as possible to ssthresh
by the end of recovery.

A description of PRR and a discussion of its performance can be found at
the following links:
- IETF Draft:
    http://tools.ietf.org/html/draft-mathis-tcpm-proportional-rate-reduction-01
- IETF Slides:
    http://www.ietf.org/proceedings/80/slides/tcpm-6.pdf
    http://tools.ietf.org/agenda/81/slides/tcpm-2.pdf
- Paper to appear in Internet Measurements Conference (IMC) 2011:
    Improving TCP Loss Recovery
    Nandita Dukkipati, Matt Mathis, Yuchung Cheng

Signed-off-by: Nandita Dukkipati <nanditad@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
block: tweak Deadline scheduler to perform better on Android (mikec84)

Conflicts:
	block/sio-iosched.c
mm: optimize SLUB
sched.h: LOAD_FREQ is supposed to equal 4.61 seconds
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_kernel_htc_msm8960 into cm-10.1

Conflicts:
	Makefile
Disabled GENTLE FAIR SLEEPERS for better UI performance
Added Fast Random generator support (frandom)