Re: Some notes on the new ampere4's initial large-build time frames for port-packges

Philip Paeps <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 2026-01-09 07:02:41 (+0800), Mark Millard wrote:
> It was reported that ampere4 has 160 cores (two 80 core sockets) but
> only 256 GiBytes of RAM, so only about 1.6 GiBytes/core (mean), ignoring
> overheads and such.  This likely help explain there being only 24
> builders in use and logs showing:

We limit the number of build jobs like this in poudriere.conf:

calc_builders() {
        local GB_PER_BUILDER ncpu arcsize physmem swap vmem emem

        GB_PER_BUILDER=12
        ncpu=$(/sbin/sysctl -n hw.ncpu)
        PREPARE_PARALLEL_JOBS=$((ncpu + 5))

        # Tune BUILD_PARALLEL_JOBS based on amount of VM.
        physmem=$(($(/sbin/sysctl -n hw.physmem) / 1024 / 1024 / 1024))
        arcsize=$(($(/sbin/sysctl -n vfs.zfs.arc_max) / 1024 / 1024 / 1024))
        swap=$(($(/sbin/sysctl -n vm.swap_total) / 1024 / 1024 / 1024))
        vmem=$((physmem + swap))
        # Calculate "effective" memory; Ignore greedy ARC.
        emem=$((vmem - arcsize))
        if [ ${emem} -lt 0 ]; then
                # The ARC is probably too big.
                emem=$((emem + arcsize))
        fi
        # Give each builder GB_PER_BUILDER
        BUILD_PARALLEL_JOBS=$((emem / GB_PER_BUILDER))
        if [ ${BUILD_PARALLEL_JOBS} -gt ${ncpu} ]; then
                BUILD_PARALLEL_JOBS=${ncpu}
        elif [ ${ncpu} -ge $((2 * BUILD_PARALLEL_JOBS)) ]; then
                ALLOW_MAKE_JOBS=yes
        fi
        if [ $# -gt 0 ]; then
                echo "calc_builders(): ncpu=${ncpu} physmem=${physmem} arcsize=${arcsize} JOBS=${BUILD_PARALLEL_JOBS}" >&2
        fi
}

> I've also seen SWAP at 100% used, not that I know the amount of SWAP at any time or if SWAP has been reconfigured since I saw that.

All builders since beefy20 (I think) have 48G swap in a gmirror across at least one pair of disks.

> It has been reported that ampere5 currently has less RAM than ampere4.
> It as only been configured for 13 builders, so like ampere[123] for the
> builder count. (But it was reported ampere5 also has 160 cores, unlike
> ampere[123]'s each having 32 cores, and that ampere5 will have more RAM
> added.)

ampere4 and ampere5 are identical except that ampere4 has 16*16G DIMMs and ampere5 has 8*32G DIMMs (as of this morning).

https://people.freebsd.org/~philip/ampere4-dmesg.txt
https://people.freebsd.org/~philip/ampere5-dmesg.txt

ampere4 will get the same build as ampere5 when it finishes its current build.

Philip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.