Re: my simh-vax crashed: panic: pmap_enter on PG_SREF page
Anders Magnusson <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.vax |
|---|---|
| Message-ID | <[email protected]> |
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