Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Jul 2018 18:50:42 +1000
From:      Trev <freebsd-arm@sentry.org>
To:        freebsd-arm@freebsd.org
Subject:   Re: RPI3 swap experiments
Message-ID:  <bc8da02c-4465-9634-6fd0-0af4c63aa49d@sentry.org>
In-Reply-To: <2deaaec3-f78f-0b09-5ca7-27e14c6979f9@sentry.org>
References:  <20180627194217.GA27793@www.zefox.net> <C6303FC5-B412-472C-98E4-9A1E45C38535@yahoo.com> <20180628022457.GA30110@www.zefox.net> <7B9D272D-3EDE-46FA-8A1C-AEE65047167C@yahoo.com> <20180628163328.GA33408@www.zefox.net> <51e208b4-9f14-58f7-1e70-6ef8db2c0bed@sentry.org> <20180629155131.GA35717@www.zefox.net> <c6b8842a-fcc5-8e11-5a03-ba76eb3c5dea@sentry.org> <20180629233937.GC35717@www.zefox.net> <0f137e06-214a-3e8c-a216-f061ec04ac2c@sentry.org> <20180630005145.GA43801@www.zefox.net> <6f3406e2-71f3-d0c2-2b65-703e1a1d3c25@sentry.org> <8e92b2b7-da61-3efb-7231-9fac76b2c1d4@sentry.org> <ba33d8a7-a849-3893-8016-0765ebe1c51f@sentry.org> <2deaaec3-f78f-0b09-5ca7-27e14c6979f9@sentry.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Trev wrote on 04/07/2018 07:09:
> Ok, the final, final swap experiment.
>=20
> I created a 2G swap partition on the SDCard:
>=20
> gpart show
> =3D>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 63=C2=A0 31116225=C2=A0 mmcsd0=C2=A0=
 MBR=C2=A0 (15G)
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 63=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 2016=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - free -=C2=
=A0 (1.0M)
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2079=C2=A0=C2=A0=C2=A0 102400=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 1=C2=A0 fat32lba=C2=A0 [active]=C2=A0 (50M)
>  =C2=A0=C2=A0=C2=A0 104479=C2=A0 31011809=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 2=C2=A0 freebsd=C2=A0 (15G)
>=20
> =3D>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0=C2=A0 31011809=C2=A0 mmcsd0s=
2=C2=A0 BSD=C2=A0 (15G)
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0=C2=A0 25165824=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1=C2=A0 freebsd-ufs=C2=A0 (12G=
)
>  =C2=A0 25165824=C2=A0=C2=A0 4194304=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 2=C2=A0 freebsd-swap=C2=A0 (2.0G)
>  =C2=A0 29360128=C2=A0=C2=A0 1651681=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - free -=C2=A0 (806M)
>=20
> and, yes, it still died during make -j4 buildworld:
>=20
> Jul=C2=A0 3 22:15:24 rpi3 kernel: pid 57011 (c++), uid 0, was killed: o=
ut of=20
> swap space

I replaced the SanDisk 16G Ultra (Speed Class 10, UHS Speed Class 1,=20
minimum 10MB/s seq write) used above with a SanDisk 32G Extreme (Speed=20
Class 10, UHS Speed Class 3, minimum 30MB/s seq write) micro-SD card and =

now the above configuration survives make -j4 buildworld to end=20
successfully. Twice so far.

The configuration is a little different because of the extra space:

root@rpi3:~ # gpart show mmcsd0s2
=3D>       0  62229473  mmcsd0s2  BSD  (30G)
          0  12582912         1  freebsd-ufs  (6.0G) [root s2a]
   12582912   4194304         2  freebsd-swap (2.0G) [swap s2b]
   16777216  12582912         4  freebsd-ufs  (6.0G) [home s2d]
   29360128  32869345         5  freebsd-ufs  (16G)  [usr  s2e]

Note: the SanDisk 32G Extreme I bought at the local (rural) OfficeWorks=20
is "old" stock as it does not have the "application performance class=20
rating" (A1) on it which signifies minimum random read of 1500 IOPS and=20
minimum random write of 500 IOPS. There's also an A2 which signifies=20
minimum random read of 4000 IOPS and minimum random write of 2000 IOPS.

Everything subjectively seems snappier. Watching gstat randomly during=20
buildworld I saw no busy percentage greater than 101% and no queue=20
greater than 17, whereas with the Ultra card, I often saw 200-400% with=20
large queues in the 100s. Take the observations in this paragraph with a =

grain of evidence-free, anecdotal salt.

Trying to determine the real difference between Ultra and Extreme cards=20
was difficult. The best I could come up with were unsupported claims=20
that the Extreme series contain "card controller technology that allows=20
parallel processing of reads and writes" which might just be confusing=20
UHS-I/HC-I (half-duplex) and UHS-II/HC-II (full duplex) bus interfaces.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bc8da02c-4465-9634-6fd0-0af4c63aa49d>