[parisc-linux] itlb miss handler optimizations!
Matthew Wilcox
willy@debian.org
Fri, 25 Jul 2003 12:46:15 +0100
On Fri, Jul 25, 2003 at 03:04:50AM -0400, Carlos O'Donell wrote:
> @@ -1882,6 +1884,15 @@ kernel_bad_space:
> dbit_fault:
> b intr_save
> ldi 20,%r8
> +
> +itlb_user_fault:
> + /* User tlb missed for other than his own space. Optimization. */
> +#ifdef __LP64__
> + cmpb,= %r0,t0,itlb_miss_common20 /* backward */
> +#else
> + cmpb,= %r0,t0,itlb_miss_common11 /* backward */
> +#endif
> + nop
can't do that. we have three sets of routines -- itlb_miss_common_11,
itlb_miss_common_20 and itlb_miss_common_20w. we select between _20w
or not at compile time (if it's 64-bit, it's PA 2.0 Wide), but select
between _20 and _11 at boot time (fault_vector_20 vs fault_vector_11).
shame on you, you didn't even try assembling it ;-)
--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk