The second time call to sched_rt_period is redundant, because the value of the rt_runtime was already read and it was protected by the rurt_runtime_lock. Signed-off-by: Shan Hai <firstname.lastname@example.org>
ARMv6 and later processors have the REV16 instruction, which swaps the bytes within each halfword of a register value. This is already used to implement swab16(), but since the native operation performaed by REV16 is actually swahb32(), this patch renames the existing swab16() helper accordingly and defines __arch_swab16() in terms of it. This allows calls to both swab16() and swahb32() to be optimised. The compiler's generated code might improve someday, but as of 4.5.2 the code generated for pure C implementing these 16-bit bytesswaps remains pessimal. swahb32() is useful for converting 32-bit Thumb instructions between integer and memory representation on BE8 platforms (among other uses). Signed-off-by: Dave Martin <dave.martin@xxxxxxxxxx>
Add support for slice by 8 to existing crc32 algorithm. Also modify gen_crc32table.c to only produce table entries that are actually used. The parameters CRC_LE_BITS and CRC_BE_BITS determine the number of bits in the input array that are processed during each step. Generally the more bits the faster the algorithm is but the more table data required. Using an x86_64 Opteron machine running at 2100MHz the following table was collected with a pre-warmed cache by computing the crc 1000 times on a buffer of 4096 bytes. BITS Size LE Cycles/byte BE Cycles/byte ---------------------------------------------- 1 873 41.65 34.60 2 1097 25.43 29.61 4 1057 13.29 15.28 8 2913 7.13 8.19 32 9684 2.80 2.82 64 18178 1.53 1.53 BITS is the value of CRC_LE_BITS or CRC_BE_BITS. The old default was 8 which actually selected the 32 bit algorithm. In this version the value 8 is used to select the standard 8 bit algorithm and two new values: 32 and 64 are introduced to select the slice by 4 and slice by 8 algorithms respectively. Where Size is the size of crc32.o's text segment which includes code and table data when both LE and BE versions are set to BITS. The current version of crc32.c by default uses the slice by 4 algorithm which requires about 2.8 cycles per byte. The slice by 8 algorithm is roughly 2X faster and enables packet processing at over 1GB/sec on a typical 2-3GHz system. Signed-off-by: Bob Pearson <email@example.com> Cc: Roland Dreier <firstname.lastname@example.org> Cc: Eric Dumazet <email@example.com> Signed-off-by: Andrew Morton <firstname.lastname@example.org>
…le between processes" patch "Staging: android: binder: Don't call dump_stack in binder_vma_open" tweak smartass2
the superlow frequency(19mhz) should works.
It's from drowningchild's htc-kernel-msm7227-exp commit.
Conflicts: Documentation/scheduler/sched-BFS.txt kernel/sched_bfs.c
from drowningchild's commit.