Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: my simh-vax crashed: panic: pmap_enter on PG_SREF page



Den 2023-12-21 kl. 21:37, skrev Kalvis Duckmanton:
On 22/12/23 01:39, Anders Magnusson wrote:
Den 2023-12-21 kl. 03:59, skrev Jason Thorpe:
That patch looks pretty reasonable, but wouldn’t it be better to invalidate the outgoing range?  Generally, best practice is to invalidate a TLB thing when it becomes invalid, rather than when it get a new value.
This should be in rmspace(), where the previous process mappings are removed.
Together with a check for number of pages affected, so that it wont be an giant TBIA loop :-)

I ended up revising my change to something that's almost exactly the same as Jason's patch from elsethread, though I also had an additional TBIS in pmap_enter() immediately after the call to rmpage().  Am I right to think that this last one isn't needed since there is a TBIA at the end of pmap_enter()?

Yes, that is correct. 

IIRC; the TBIA is because TBIS did take quite some time on 11/750 to execute, but TBIA was instant, so when there was many TBIS needed I replaced them with TBIA instead (doing a page lookup was not especially heavy-weight).  If someone feel for verifying this with newer hardware - feel free :-)

The same as with the Unibus BDPs; only when having a heavy I/O load it was possible to see any performance gain by using it, so I did never implement it.  (I did performance checks using 4.3BSD which used BDPs).

-- Ragge


Home | Main Index | Thread Index | Old Index