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

Reply via email to