remarkable-linux/arch
Stafford Horne f5d45dc911 openrisc: Add optimized memcpy routine
The generic memcpy routine provided in kernel does only byte copies.
Using word copies we can lower boot time and cycles spend in memcpy
quite significantly.

Booting on my de0 nano I see boot times go from 7.2 to 5.6 seconds.
The avg cycles in memcpy during boot go from 6467 to 1887.

I tested several algorithms (see code in previous patch mails)

The implementations I tested and avg cycles:
  - Word Copies + Loop Unrolls + Non Aligned    1882
  - Word Copies + Loop Unrolls                  1887
  - Word Copies                                 2441
  - Byte Copies + Loop Unrolls                  6467
  - Byte Copies                                 7600

In the end I ended up going with Word Copies + Loop Unrolls as it
provides best tradeoff between simplicity and boot speedups.

Signed-off-by: Stafford Horne <shorne@gmail.com>
2017-02-25 04:14:36 +09:00
..
alpha
arc ARC: [arcompact] handle unaligned access delay slot corner case 2017-01-27 10:54:20 -08:00
arm KVM fixes for v4.10-rc5 2017-01-20 14:19:34 -08:00
arm64 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2017-02-01 09:24:00 -08:00
avr32
blackfin
c6x
cris
frv frv: add missing atomic64 operations 2017-01-24 16:26:14 -08:00
h8300
hexagon
ia64
m32r
m68k
metag
microblaze
mips
mn10300 mn10300: fix build error of missing fpu_save() 2017-01-24 16:26:14 -08:00
nios2
openrisc openrisc: Add optimized memcpy routine 2017-02-25 04:14:36 +09:00
parisc parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header 2017-01-28 21:54:23 +01:00
powerpc powerpc fixes for 4.10 #3 2017-02-03 11:10:06 -08:00
s390 s390/mm: Fix cmma unused transfer from pgste into pte 2017-01-24 16:03:42 +01:00
score
sh
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2017-01-30 15:47:19 -08:00
tile
um
unicore32
x86 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-04 12:18:01 -08:00
xtensa Xtensa fix for v4.10-rc7: 2017-02-02 12:39:10 -08:00
.gitignore
Kconfig