[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>
This commit is contained in:
@@ -313,7 +313,7 @@ retry_tsb_alloc:
|
||||
}
|
||||
|
||||
/* Mark all tags as invalid. */
|
||||
memset(new_tsb, 0x40, new_size);
|
||||
tsb_init(new_tsb, new_size);
|
||||
|
||||
/* Ok, we are about to commit the changes. If we are
|
||||
* growing an existing TSB the locking is very tricky,
|
||||
|
Reference in New Issue
Block a user