Commit a2494b9b5fb702becaf8d8e3138f7a1a0d3c537e
1 parent
6e4154d4c2
Exists in
master
and in
7 other branches
sh: Kill off dcache writeback from copy_page().
Now that the cache purging is handled manually by all copy_page() callers, we can kill off copy_page()'s on writeback. This optimizes the non-aliasing case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Showing 1 changed file with 3 additions and 8 deletions Side-by-side Diff
arch/sh/lib/copy_page.S
... | ... | @@ -30,7 +30,9 @@ |
30 | 30 | mov r4,r10 |
31 | 31 | mov r5,r11 |
32 | 32 | mov r5,r8 |
33 | - mov.l .Lpsz,r0 | |
33 | + mov #(PAGE_SIZE >> 10), r0 | |
34 | + shll8 r0 | |
35 | + shll2 r0 | |
34 | 36 | add r0,r8 |
35 | 37 | ! |
36 | 38 | 1: mov.l @r11+,r0 |
... | ... | @@ -43,7 +45,6 @@ |
43 | 45 | mov.l @r11+,r7 |
44 | 46 | #if defined(CONFIG_CPU_SH4) |
45 | 47 | movca.l r0,@r10 |
46 | - mov r10,r0 | |
47 | 48 | #else |
48 | 49 | mov.l r0,@r10 |
49 | 50 | #endif |
... | ... | @@ -55,9 +56,6 @@ |
55 | 56 | mov.l r3,@-r10 |
56 | 57 | mov.l r2,@-r10 |
57 | 58 | mov.l r1,@-r10 |
58 | -#if defined(CONFIG_CPU_SH4) | |
59 | - ocbwb @r0 | |
60 | -#endif | |
61 | 59 | cmp/eq r11,r8 |
62 | 60 | bf/s 1b |
63 | 61 | add #28,r10 |
... | ... | @@ -67,9 +65,6 @@ |
67 | 65 | mov.l @r15+,r8 |
68 | 66 | rts |
69 | 67 | nop |
70 | - | |
71 | - .balign 4 | |
72 | -.Lpsz: .long PAGE_SIZE | |
73 | 68 | |
74 | 69 | /* |
75 | 70 | * __kernel_size_t __copy_user(void *to, const void *from, __kernel_size_t n); |