Kernel: process: Short Timeuot for stoping process
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
lowmemorykiller: Don't try to kill the same pid over and over
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
between the 2.6.32 and 3.0 kernels. By removing the plug from
 do_io_submit(), we observed a 34% improvement in the I/O latency.

Unfortunately, at this level, we don't know if the request is to
a rotating disk or not.

Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
ext4: optimize test_root()

The test_root() function could potentially loop forever due to
overflow issues.  So rewrite test_root() to avoid this issue; as a
bonus, it is 38% faster when benchmarked via a test loop:

int main(int argc, char **argv)
{
	int  i;

	for (i = 0; i < 1 << 24; i++) {
		if (test_root(i, 7))
			printf("%d\n", i);
	}
}

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
arm: lzo: faster boot-up process.

Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire It's perfectly ok for the load to jump by around .08 when it sees a runnable process. That's due to the algorithm that computes the new value for the "1 minute average" as 8%*current + 92%*old (92% ~ 1884/2048; 1884 is EXP_1 from include/linux/sched.h). It's also ok to sit at load 0.00 when it's really 0.04. If the chance of seeing no runnable task is 96%, the odds for 12 probes of 0 in a row are still 61%. These values are applicable for 100 HZ device. Check http://ripke.com/loadavg/moire for more details. Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
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*******>
Signed-off-by: faux123 <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
lib/memcopy: use glibc version missing

Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
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*******>
Signed-off-by: faux123 <reioux@gmail.com>

Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>