[parisc-linux] itlb miss handler optimizations!
Carlos O'Donell
carlos@baldric.uwo.ca
Sat, 26 Jul 2003 14:02:29 -0400
> > @@ -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 ;-)
I'll take a look at that and rewrite the patch. It was 3AM when I
finished it and didn't bother to compile it as I passed out on the
bed ;)
c.