On 31/12/25(Wed) 12:52, Mark Kettenis wrote:
> [...] 
> So you're allocating a (potentially) largish mbuf cluster.  The mbuf
> pools use &kp_dma_contig, which means that they ask for phys contig
> memory.  Even with the smallest (2k) clusters I believe the pool
> allocates "poges" of at least 16k.  But larger cluster sizes will ask
> for much larger pages

If you're hypothesis is correct then reverting the m_getuio() rewrite
from kern/uipc_socket.c r1.379 might confirm it.

> I think this means that physmem got fragmented to the point where it
> is no longer possible to allocate a larger phys contig pool page.
> 
> This has always been a problem There is no easy solution.  Very well
> possible that the allocation patterns in the kernel changed over time
> such that fragmentation is more likely.  But it is unfair to blame
> mpi@ for that.

Thanks for you support Mark, it's greatly appreciated.


Reply via email to