RPI3 swap experiments

bob prohaska fbsd at www.zefox.net
Thu Jun 28 16:33:22 UTC 2018


It turns out that Peter Holm's stress2 suite will trigger a crash whose console
messages look superficially like those produced by -j4 buildworld.

The storage configuration is the same: /var and /usr on USB flash, 1 GB swap on microSD.

The gstat/swapinfo log file is at
http://www.zefox.net/~fbsd/rpi3/swaptests/r335655/1gbsdflash/stress2/swapuse.log

An early sign of trouble is

dT: 10.042s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
   16     57      0      0    0.0     57   6351  237.6      0      0    0.0  100.2  mmcsd0
   15     57      0      0    0.0     57   6351  237.6      0      0    0.0  100.2  mmcsd0s3
   14     57      0      0    0.0     57   6351  237.7      0      0    0.0  100.2  mmcsd0s3a
Thu Jun 28 00:52:49 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    32320  1016256     3%
Jun 28 00:52:05 www bob[2122]: Starting test df.cfg
Jun 28 00:52:45 www kernel: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 3467, size: 4096
dT: 10.004s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
   19     51      0      0    0.0     51   5796  239.5      0      0    0.0  100.2  mmcsd0
   17     51      0      0    0.0     51   5796  239.5      0      0    0.0  100.2  mmcsd0s3
   17     51      0      0    0.0     51   5796  239.6      0      0    0.0  100.2  mmcsd0s3a
Thu Jun 28 00:52:59 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    32320  1016256     3%
Jun 28 00:52:05 www bob[2122]: Starting test df.cfg
Jun 28 00:52:45 www kernel: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 3467, size: 4096

Here's the spot where the /dev/da0 errors begin in the gstat/swapinfo log:


dT: 10.002s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
    4      9      1      3  131.4      9    186   46.9      0      0    0.0   28.5  mmcsd0
    1      1      0      0    0.0      1     34   51.6      0      0    0.0    7.2  da0
    4      9      1      3  133.3      9    186   53.3      0      0    0.0   32.9  mmcsd0s3
    3      9      0      0    0.0      9    186   53.3      0      0    0.0   32.9  mmcsd0s3a
    1      1      1      3  133.3      0      0    0.0      0      0    0.0    8.0  mmcsd0s3b
    1      1      0      0    0.0      1     34   51.7      0      0    0.0    7.2  da0a
Thu Jun 28 02:34:11 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    37736  1010840     4%
Jun 28 02:35:15 www kernel: (da0:umass-sim0:0:0:0): Error 5, Retries exhausted
Jun 28 02:35:15 www kernel: g_vfs_done():da0a[WRITE(offset=827129856, length=16384)]error = 5
dT: 10.002s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
    0     38     38    452  285.2      0      0    0.0      0      0    0.0   35.3  mmcsd0
    0     38     38    456  286.1      0      0    0.0      0      0    0.0   35.5  mmcsd0s3
    0     38     38    456  286.3      0      0    0.0      0      0    0.0   35.5  mmcsd0s3b
Thu Jun 28 02:40:26 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    58408   990168     6%
Jun 28 02:40:15 www kernel: (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
Jun 28 02:40:15 www kernel: (da0:umass-sim0:0:0:0): Retrying command, 3 more tries remain
dT: 10.002s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
Thu Jun 28 02:40:37 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    58408   990168     6%
Jun 28 02:40:15 www kernel: (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
Jun 28 02:40:15 www kernel: (da0:umass-sim0:0:0:0): Retrying command, 3 more tries remain
dT: 10.076s  w: 10.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
Thu Jun 28 02:40:50 PDT 2018
Device          1K-blocks     Used    Avail Capacity
/dev/mmcsd0s3b    1048576    58408   990168     6%
Jun 28 02:41:38 www kernel: (da0:umass-sim0:0:0:0): WRITE(10). CDB: 2a 00 00 18 a6 80 00 00 40 00 
Jun 28 02:41:38 www kernel: (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
Jun 28 02:41:38 www kernel: (da0:umass-sim0:0:0:0): Retrying command, 1 more tries remain
Jun 28 02:41:38 www kernel: smsc0: warning: Failed to read register 0x114
Jun 28 02:41:38 www kernel: smsc0: warning: MII read timeout
[da0 error flood continues]

Curiously, the machine kept running (top output updated) until the plug was pulled next
morning.

This test is certainly quicker than using -j4 buildworld, but it isn't obvious it's
doing the same thing since /dev/da0 is exercised far less. 

Thanks for reading,

bob prohaska



More information about the freebsd-arm mailing list