On 21/09/25(Sun) 19:49, Miod Vallat wrote: > > Here's a diff that fixes the bug and does not make landisk slow other > > architectures. This gives a noticeable boost for page faults and > > aggressive swapping (like a stress test with torture). > > > > Note that NetBSD also calls pmap_kenter_pa(9) in this case. So maybe > > there's a fix for landisk out there. Anyone care about landisk? > > I have tested that diff on landisk. With or without the __sh__ test, > after a complete build + release + xenocara cycle, attempting to "cvs > update" in xenocara (where there are large files and the memory usage of > cvs is higher) stalls with the ssh client process waiting on "pmrwait" - > or progresses very slowly, as the cpu time in ps for that process is > slowly increasing. Meanwhile, other processes are being responsive, and > it is possible to ssh to the machine.
Interesting. Could you enter ddb and report a trace of the ssh client stuck on "pmrwait"? At the same time, could you get "ps", "show uvm", "show all pools" and "show bcstats"? Do I understand correctly that the #ifdef __sh__ doesn't make a difference for your machine? > I suppose this matches what Theo is seeing. > > From ddb, memory stats are not that bad: Indeed, that said is the pdaemon currently running? `pdwoke' is quite high. So the question is does the ssh client keeps hitting the memory limit? Or is it stuck there? > > ddb> show uvmexp > Current UVM status: > pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12 > 14870 VM pages: 208 active, 0 inactive, 1 wired, 10032 free (1276 zero) > freemin=495, free-target=660, inactive-target=661, wired-max=4956 > faults=167811606, traps=89128730, intrs=40206503, ctxswitch=16760699 > fpuswitc > h=0 > softint=18260869, syscalls=89128728, kmapent=10 > fault counts: > noram=993342, noanon=0, noamap=0, pgwait=444, pgrele=0 > relocks=1749413(15645), upgrades=0(0) anget(retries)=69162137(439700), > amap > copy=28198659 > neighbor anon/obj pg=48566250/104332701, > gets(lock/unlock)=30673401/1314764 > > cases: anon=56548669, anoncow=12602419, obj=26929597, prcopy=3738753, > przer > o=67918633 > daemon and swap counts: > woke=1342398, revs=1363281, scans=2419844, obscans=398458, anscans=1709393 > busy=0, freed=1234489, reactivate=311881, deactivate=8755420 > pageouts=64922, pending=64922, nswget=449369 > nswapdev=1 > swpages=4194415, swpginuse=4584, swpgonly=4469 paging=0 > kernel pointers: > objs(kern)=0x8c3e1dcc > ddb> show bcstats > Current Buffer Cache status: > numbufs 184 busymapped 0, delwri 4 > kvaslots 185 avail kva slots 185 > bufpages 682, dmapages 682, dirtypages 16 > pendingreads 0, pendingwrites 3 > highflips 0, highflops 0, dmaflips 0
