svn commit: r318772 - stable/11/sys/netinet
Navdeep Parhar
np at FreeBSD.org
Wed May 24 03:56:49 UTC 2017
Author: np
Date: Wed May 24 03:56:48 2017
New Revision: 318772
URL: https://svnweb.freebsd.org/changeset/base/318772
Log:
MFC r317170, r317389, and r317390.
r317170:
Remove redundant assignment.
r317389:
Frames that are not considered for LRO should not be counted in LRO
statistics.
r317390:
Flush the LRO ctrl as soon as lro_mbufs fills up. There is no need to
wait for the next enqueue from the driver.
Sponsored by: Chelsio Communications
Modified:
stable/11/sys/netinet/tcp_lro.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/netinet/tcp_lro.c
==============================================================================
--- stable/11/sys/netinet/tcp_lro.c Wed May 24 03:26:15 2017 (r318771)
+++ stable/11/sys/netinet/tcp_lro.c Wed May 24 03:56:48 2017 (r318772)
@@ -110,7 +110,6 @@ tcp_lro_init_args(struct lro_ctrl *lc, s
lc->lro_bad_csum = 0;
lc->lro_queued = 0;
lc->lro_flushed = 0;
- lc->lro_cnt = 0;
lc->lro_mbuf_count = 0;
lc->lro_mbuf_max = lro_mbufs;
lc->lro_cnt = lro_entries;
@@ -889,18 +888,12 @@ tcp_lro_queue_mbuf(struct lro_ctrl *lc,
/* check if packet is not LRO capable */
if (__predict_false(mb->m_pkthdr.csum_flags == 0 ||
(lc->ifp->if_capenable & IFCAP_LRO) == 0)) {
- lc->lro_flushed++;
- lc->lro_queued++;
/* input packet to network layer */
(*lc->ifp->if_input) (lc->ifp, mb);
return;
}
- /* check if array is full */
- if (__predict_false(lc->lro_mbuf_count == lc->lro_mbuf_max))
- tcp_lro_flush_all(lc);
-
/* create sequence number */
lc->lro_mbuf_data[lc->lro_mbuf_count].seq =
(((uint64_t)M_HASHTYPE_GET(mb)) << 56) |
@@ -908,7 +901,11 @@ tcp_lro_queue_mbuf(struct lro_ctrl *lc,
((uint64_t)lc->lro_mbuf_count);
/* enter mbuf */
- lc->lro_mbuf_data[lc->lro_mbuf_count++].mb = mb;
+ lc->lro_mbuf_data[lc->lro_mbuf_count].mb = mb;
+
+ /* flush if array is full */
+ if (__predict_false(++lc->lro_mbuf_count == lc->lro_mbuf_max))
+ tcp_lro_flush_all(lc);
}
/* end */
More information about the svn-src-stable-11
mailing list