git: c87c8fda44ba - stable/14 - neta: improve TCP LRO
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 31 Oct 2024 13:40:25 UTC
The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=c87c8fda44ba507a4ac373bf2998e755ab2dd8c9 commit c87c8fda44ba507a4ac373bf2998e755ab2dd8c9 Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2024-09-05 15:31:31 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> CommitDate: 2024-10-31 11:18:52 +0000 neta: improve TCP LRO Use the appropriate function to flush correctly all entries. The old code does not remove the element from the hash table, only from the active queue. Reviewed by: Peter Lei, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D46433 (cherry picked from commit 5203dcce2527fd235648e2b855a13f62247eb2de) --- sys/dev/neta/if_mvneta.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c index fdd6467edde1..0bdcdf0db5da 100644 --- a/sys/dev/neta/if_mvneta.c +++ b/sys/dev/neta/if_mvneta.c @@ -3000,8 +3000,6 @@ mvneta_rx_queue(struct mvneta_softc *sc, int q, int npkt) struct mvneta_rx_desc *r; struct mvneta_buf *rxbuf; struct mbuf *m; - struct lro_ctrl *lro; - struct lro_entry *queued; void *pktbuf; int i, pktlen, processed, ndma; @@ -3115,11 +3113,7 @@ rx_lro: /* * Flush any outstanding LRO work */ - lro = &rx->lro; - while (__predict_false((queued = LIST_FIRST(&lro->lro_active)) != NULL)) { - LIST_REMOVE(LIST_FIRST((&lro->lro_active)), next); - tcp_lro_flush(lro, queued); - } + tcp_lro_flush_all(&rx->lro); } STATIC void