=== sys/kern/uipc_mbuf.c ================================================================== --- sys/kern/uipc_mbuf.c (revision 268358) +++ sys/kern/uipc_mbuf.c (local) @@ -917,7 +917,15 @@ struct mbuf *n; /* Get the next new mbuf */ - if (remain >= MINCLSIZE) { + if (remain >= MJUMPAGESIZE) { + /* + * By allocating a bigger mbuf, we get fewer + * scatter gather entries for the hardware to + * process: + */ + n = m_getjcl(how, m->m_type, 0, MJUMPAGESIZE); + nsize = MJUMPAGESIZE; + } else if (remain >= MINCLSIZE) { n = m_getcl(how, m->m_type, 0); nsize = MCLBYTES; } else {