OpenCloudOS-Kernel/arch
John David Anglin 6d2ddc2f94 parisc: fixes and cleanups in page cache flushing (2/4)
Implement clear_page_asm and copy_page_asm. These are optimized routines to
clear and copy a page.  I tested prefetch optimizations in clear_page_asm and
copy_page_asm but didn't see any significant performance improvement on rp3440.
I'm not sure if these are routines are significantly faster than memset and/or
memcpy, but they are there for further performance evaluation.

TLB purge operations on PA 1.X SMP machines are now serialized with the help of
the new tlb_lock() and tlb_unlock() macros, since on some PA-RISC machines, TLB
purges need to be serialized in software.  Obviously, lock isn't needed in UP
kernels.  On PA 2.0 machines, there is a local TLB instruction which is much
less disruptive to the memory subsystem.  No lock is needed for local purge.

Loops are also unrolled in flush_instruction_cache_local and
flush_data_cache_local.

The implementation of what used to be copy_user_page (now copy_user_page_asm)
is now fixed. Additionally 64-bit support is now added. Read the preceding
comment which I didn't change.  I left the comment but it is now inaccurate.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
2013-02-20 22:49:29 +01:00
..
alpha ALPHA: drivers: remove __dev* attributes. 2013-01-03 15:57:13 -08:00
arm highbank fixes for 3.8 2013-02-09 20:55:03 -08:00
arm64 arm64: elf: fix core dumping to match what glibc expects 2013-01-22 17:50:59 +00:00
avr32 avr32: Provide dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:14 +01:00
blackfin blackfin: Provide dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:14 +01:00
c6x c6x: Provide dummy dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:14 +01:00
cris cris: Provide dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:14 +01:00
frv frv: Provide dummy dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:11:15 +01:00
h8300 These are a few cleanups for asm-generic: 2012-12-21 16:39:08 -08:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
ia64 ia64: kill thread_matches(), unexport ptrace_check_attach() 2013-01-20 12:26:05 -08:00
m32r ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
m68k Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu into akpm 2013-02-12 16:15:39 -08:00
microblaze Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze 2013-01-07 07:39:32 -08:00
mips MIPS: Function tracer: Fix broken function tracing 2013-01-31 15:28:48 +01:00
mn10300 mn10300: Provide dummy dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:27:40 +01:00
openrisc ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
parisc parisc: fixes and cleanups in page cache flushing (2/4) 2013-02-20 22:49:29 +01:00
powerpc powerpc/mm: Fix hash computation function 2013-02-04 15:15:08 +11:00
s390 s390/timer: avoid overflow when programming clock comparator 2013-01-31 14:01:52 +01:00
score ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
sh sh: ecovec: add sample amixer settings 2013-01-16 18:30:44 +09:00
sparc sparc64: Fix get_user_pages_fast() wrt. THP. 2013-02-13 12:22:14 -08:00
tile tile: tag some code with #ifdef CONFIG_COMPAT 2013-02-08 13:20:43 -05:00
um Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
unicore32 ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
x86 Revert the PVonHVM kexec. The patch introduces a regression 2013-02-15 12:12:55 -08:00
xtensa xtensa: Provide dummy dma_mmap_coherent() and dma_get_sgtable() 2013-01-29 08:27:41 +01:00
.gitignore
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00