adding swap when expanding root filesystem

From: Mike Karels <mike_at_karels.net>
Date: Mon, 07 Nov 2022 16:10:38 UTC
This question is not really arm-specific, but I couldn't think of a better
mailing list for it.

There are peridic issues reported on small systems like Raspberry Pi
where people are running buildworld or poudriere and running out of
memory.  As the user gets no control over the disk layout when installing,
there is no option to add swap space on the install image.  I have added
swap space on a USB disk, but this is often not an option.  It occurred
to me that it might be reasonable to add swap space before expanding
the root filesystem if there is sufficient space.  I have a prototype,
and wondered if this is a good thing to do.  Granted, this will often
create swap on microSD, which is not optimal, but probably better than
nothing.

The current prototype creates a swap partition which is 1/10 of the disk
if the disk is at least 15 GB and the initial root partition is no more
than 1/3 of the disk, but only up to 1.5x of physical memory.  I would
probably enable this by default, but provide a way to disable it via a
kenv variable and/or a variable in /etc/rc.conf.

Thoughts?

		Mike