[parisc-linux] use of (*PAGE0->mem_pdc)()
Philipp Rumpf
Philipp.H.Rumpf@mathe.stud.uni-erlangen.de
Wed, 17 Nov 1999 05:49:37 +0100
> > pret = (*PAGE0->mem_pdc)(
> > PDC_BLOCK_TLB,
> > PDC_BTLB_INSERT,
> I would recommend that we quit using the pointer to PDCE_PROC() that
> is in page zero, because the newer machines have a PDC procedure,
> PDC_RELOCATE(), that copies PDCE_PROC into real memory, where it
> executes much faster. The page zero pointer to PDCE_PROC() is not
> updated by PDC_RELOCATE(), but instead a pointer to the in-memory
> PDCE_PROC() is returned.
>
> I recommend using a global variable to hold the pointer to PDCE_PROC(),
> which would be the value from page zero initially, then updated to
> the value returned by PDC_RELOCATE().
Not only is it is a potential performance problem to use (PAGE0->mem_pdc),
it's arguably ugly and problematic for SMP as well. There is an interface
in place to call pdc (even for real-mode code now) and there shouldn't be
a problem using that.
Philipp Rumpf