Subject: pagedaemon problems
To: None <port-sgimips@netbsd.org>
From: Wayne Knowles <wdk@netbsd.org>
List: port-sgimips
Date: 09/15/2001 22:59:25
Whenever I attempt to run rsync on a large directory (the NetBSD src
distribution to be more precise) my machine freezes.

This appears to be caused by the machine running out of available memory,
and it isn't pageing out correctly.

 procs   memory     page                       disks         faults      cpu
 r b w   avm   fre  flt  re  pi   po   fr   sr s0 s1 s2 c0   in   sy  cs us sy id
 0 1 0 33264 21604   35   0   0    0    0    0  0  0 114  0  684  850 167  2 19 79
 0 1 0 33400 21468   41   0   0    0    0    0  0  0 113  0  730  878 171  3 14 82
 0 1 0 33860 21008   22   0   0    0    0    0  0  0 93  0  571  370 118  1  9 89
 0 1 0 34264 20604   34   0   0    0    0    0  0  0 88  0  606  637 136  2 14 84
 0 1 0 34080 20788   33   0   0    0    0    0  0  0 97  0  622  740 146  2 15 83
 0 2 0 34012 20856   17   0   0    0    0    0  0  0 106  0  595  465 134  1 12 87
 1 0 0 34692 20176   38   0   0    0    0    0  0  0 103  0  666  732 164  3 16 81
 0 0 0 38096 16772  108   0   0    0    0    0  0  0 66  0  899 1099 236  8 25 67
 0 1 0 41148 13712   91   0   0    0    0    0  0  0 67  0  828  900 208  6 22 72
 0 1 0 46252  8608  127   0   0    0    0    0  0  0 49  0  941 1090 251  8 24 68
 0 0 0 49876  4984  141   0   0    0    0    0  0  0 49  0 1001 1272 265 10 29 62
 0 1 0 37688    20  163  27   0   27   37  142  0  0 22  0 1006 1253 288 10 34 56
 0 2 0 37688    16    0   0   0    0    0    0  0  0  9  0  144    1  16  0  0 100
 0 3 0 37688    12    0   0   0    0    0    0  0  0  0  0  109    1   1  0  0 100
 0 3 0 37688    12    0   0   0    0    0    0  0  0  0  0  110    1   1  0  0 100
 0 3 0 37688    12    0   0   0    0    0    0  0  0  0  0  109    1   1  0  0 100
Stopped at      0x8814d880:     jr      ra
                bdslot: nop
db> show uvmexp
Current UVM status:
  pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12
  15370 VM pages: 9154 active, 4576 inactive, 42 wired, 2 free
  min  10% (25) anon, 10% (25) vnode, 5% (12) vtext
  pages  3916 anon, 9172 vnode, 642 vtext
  freemin=64, free-target=85, inactive-target=4576, wired-max=5123
  faults=87424, traps=45947, intrs=519895, ctxswitch=72139
  softint=49679, syscalls=1156509, swapins=0, swapouts=0
  fault counts:
    noram=0, noanon=0, pgwait=3, pgrele=0
    ok relocks(total)=687(687), anget(retrys)=51005(0), amapcopy=2738
    neighbor anon/obj pg=397/1304, gets(lock/unlock)=16562/687
    cases: anon=47094, anoncow=3908, obj=15953, prcopy=609, przero=6790
  daemon and swap counts:
    woke=141, revs=6, scans=1419, obscans=370, anscans=269
    busy=0, freed=370, reactivate=269, deactivate=5726
    pageouts=18, pending=18, nswget=0
    nswapdev=1, nanon=48195, nanonneeded=48195 nfreeanon=44279
    swpages=33791, swpginuse=269, swpgonly=0 paging=269
  kernel pointers:
    objs(kern/kmem/mb)=0x881b7690/0x881b77a8/0x881b77c0
db>


Notice that pageouts=18 and pending=18 in the uvmexp display.  I have
tried both disk and NFS based swaps and in both cases they are not
touched.

Swapping works as documented on my mipsco machine, so it looks to be
platform specific.  Interrupt masks and timer callbacks look to be
correct.

Any ideas???

Wayne