socsvn commit: r305825 - soc2016/vincenzo/head/sys/dev/netmap
vincenzo at FreeBSD.org
vincenzo at FreeBSD.org
Fri Jul 8 15:43:45 UTC 2016
Author: vincenzo
Date: Fri Jul 8 15:43:44 2016
New Revision: 305825
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=305825
Log:
freebsd: ptnet_rx_eof: remove redundant local variables
Modified:
soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c
Modified: soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c
==============================================================================
--- soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Fri Jul 8 15:43:36 2016 (r305824)
+++ soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Fri Jul 8 15:43:44 2016 (r305825)
@@ -1590,8 +1590,7 @@
unsigned int prev_head = head;
struct mbuf *mhead, *mtail;
struct netmap_slot *slot;
- unsigned int nmbuf_len;
- uint8_t *nmbuf, *mdata;
+ uint8_t *mdata;
if (head == ring->tail) {
/* We ran out of slot, let's see if the host has
@@ -1615,14 +1614,14 @@
}
}
- /* Allocate the head of an mbuf chain.
+ /* Allocate the head of a new mbuf chain.
* We use m_getcl() to allocate an mbuf with standard cluster
* size (MCLBYTES). In the future we could use m_getjcl()
* to choose different sizes. */
mhead = mtail = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
if (unlikely(mhead == NULL)) {
- device_printf(sc->dev, "%s: failed to allocate mbuf\n",
- __func__);
+ device_printf(sc->dev, "%s: failed to allocate mbuf "
+ "head\n", __func__);
break;
}
@@ -1640,30 +1639,29 @@
mdata = mtod(mtail, uint8_t *);
mtail->m_len = 0;
+ /* Scan all the netmap slots containing the current packet. */
for (;;) {
int err;
slot = ring->slot + head;
- nmbuf_len = slot->len;
- nmbuf = NMB(na, slot);
-
- mhead->m_pkthdr.len += nmbuf_len;
+ mhead->m_pkthdr.len += slot->len;
DBG(device_printf(sc->dev, "%s: h %u t %u rcv frag "
"len %u, flags %u\n", __func__,
- head, ring->tail, nmbuf_len,
+ head, ring->tail, slot->len,
slot->flags));
- err = ptnet_rx_slot(nmbuf, nmbuf_len, &mtail, &mdata);
+ err = ptnet_rx_slot(NMB(na, slot), slot->len,
+ &mtail, &mdata);
if (unlikely(err)) {
- /* Ouch. We ran out of memory
- * while processing a packet.
- * We have to restore the
- * previous head position,
- * free the mbuf chain, and
- * schedule the taskqueue to
- * give the packet another
- * chance. */
+ /* Ouch. We ran out of memory while processing
+ * a packet. We have to restore the previous
+ * head position, free the mbuf chain, and
+ * schedule the taskqueue to give the packet
+ * another chance. */
+ device_printf(sc->dev, "%s: failed to allocate"
+ " mbuf frag, reset head %u --> %u\n",
+ __func__, head, prev_head);
head = prev_head;
m_freem(mhead);
taskqueue_enqueue(pq->taskq,
More information about the svn-soc-all
mailing list