Don't cache mbuf pointers if the number of descriptors is greater than

the number of buffers.

Submitted by:	Matt Macy <mmacy@mattmacy.io>
Sponsored by:	Limelight Networks
This commit is contained in:
Sean Bruno 2017-07-19 21:18:04 +00:00
parent 6242e8c886
commit dcbc025ff1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=321253

View File

@ -2927,6 +2927,14 @@ iflib_busdma_load_mbuf_sg(iflib_txq_t txq, bus_dma_tag_t tag, bus_dmamap_t map,
m_free(tmp);
continue;
}
m = m->m_next;
count++;
} while (m != NULL);
if (count > *nsegs)
return (0);
m = *m0;
count = 0;
do {
next = (pidx + count) & (ntxd-1);
MPASS(ifsd_m[next] == NULL);
ifsd_m[next] = m;