poudriere-devel, USE_TMPFS="data", and "bulk -a -c" (for example)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sat, 04 Jun 2022 06:34:13 UTC
I've been doing a experiment with starting a "bulk -a -c" on
an 8GiByte RPi4B to see how well my configuration choices
stand up to handling large builds in the limited context.
(I'll end up stopping it long before completion. It is
targeting armv7 via aarch64 hardware that can execute armv7

I noticed that:

# df -m /usr/local/poudriere/data/.m/main-CA7-bulk_a-default/ref/.p
Filesystem 1M-blocks Used Avail Capacity  Mounted on
tmpfs           1024  411   612    40%    /usr/local/poudriere/data/.m/main-CA7-bulk_a-default/ref/.p

after about a week and 4000+ ports built (and about 24 failed).

I have USE_TMPFS="data" in use, trying to avoid having tmpfs
compete for memory much.

Looks like something like 'bulk -a -c' should avoid using
USE_TMPFS="data" : too many ports to fit in the provided
space? This might be appropriate to document in
/usr/local/etc/poudriere.conf 's comments --if that
interpretation is correct.

I also noticed:

mnt_tmpfs() {
        [ $# -lt 2 ] && eargs mnt_tmpfs type dst
        local type="$1"
        local dst="$2"
        local limit size
        case ${type} in
                        # Limit data to 1GiB

        [ -n "${limit}" ] && size="-o size=${limit}G"
        mount -t tmpfs ${size} tmpfs "${dst}"

So there is no pre-existing hook for using
/usr/local/etc/poudriere.conf to have an alternate
USE_TMPFS="data" limit. Should there be?

Mark Millard
marklmi at yahoo.com