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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.