diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-03-19 02:55:11 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:16:41 -0500 |
commit | bb8646d8340fa7c1b66a037428e39f85f8738f0a (patch) | |
tree | 931d4505a0ba65124b662f0f8b5935e0b154bd66 /arch/sparc64/lib | |
parent | 88d7079458f87d6f2d2261b2f87b7b9416019f5e (diff) |
[SPARC64]: Optimized TSB table initialization.
We only need to write an invalid tag every 16 bytes,
so taking advantage of this can save many instructions
compared to the simple memset() call we make now.
A prefetching implementation is implemented for sun4u
and a block-init store version if implemented for Niagara.
The next trick is to be able to perform an init and
a copy_tsb() in parallel when growing a TSB table.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/lib')
-rw-r--r-- | arch/sparc64/lib/NGbzero.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sparc64/lib/NGbzero.S b/arch/sparc64/lib/NGbzero.S index fef584f745dc..e86baece5cc8 100644 --- a/arch/sparc64/lib/NGbzero.S +++ b/arch/sparc64/lib/NGbzero.S | |||
@@ -157,6 +157,7 @@ niagara_patch_bzero: | |||
157 | NG_DO_PATCH(memset, NGmemset) | 157 | NG_DO_PATCH(memset, NGmemset) |
158 | NG_DO_PATCH(__bzero, NGbzero) | 158 | NG_DO_PATCH(__bzero, NGbzero) |
159 | NG_DO_PATCH(__clear_user, NGclear_user) | 159 | NG_DO_PATCH(__clear_user, NGclear_user) |
160 | NG_DO_PATCH(tsb_init, NGtsb_init) | ||
160 | retl | 161 | retl |
161 | nop | 162 | nop |
162 | .size niagara_patch_bzero,.-niagara_patch_bzero | 163 | .size niagara_patch_bzero,.-niagara_patch_bzero |