On Wed, 05 Jul 2023 17:04:30 +0100 Stuart Henderson <s...@spacehopper.org> wrote:
> Are you monitoring memory usage too? My first instinct is that 2GB feels a > bit low so I'd want to get some stats on that. > > (I have reported these on i386 ports builders from time to time too, I > can't do much about memory use there though..) At rare moments, infinite "scsi_xfer pool exhausted!" happens on the powerpc64 ports builder (which has 16 cores and 32G RAM). The serial console and network don't respond, so I must reboot. Lucas's amd64 has vioscsi(4) but my powerpc64 has nvme(4). "scsi_xfer pool exhausted!" refers to the scsi_xfer_pool in /sys/scsi/scsi_base.c; it probably uses pool_allocator_single in kern/subr_pool.c. I don't know why the allocator failed. It might fail on powerpc64 if uvm_km_pages (in uvm_km.c) is empty; but amd64 defines __HAVE_PMAP_DIRECT, doesn't use uvm_km_pages. My next guess is that uvm_pglistalloc (called from km_alloc) failed. Then it wouldn't free or swap out any page, because SCSI_NOSLEEP was set. To test my guess, I would modify a kernel to encourage uvm_pglistalloc to fail. I have not yet tried. --George