The branch stable/12 has been updated by vmaffione:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=31c2349742a9391899180e46336cb227828bf732

commit 31c2349742a9391899180e46336cb227828bf732
Author:     Vincenzo Maffione <vmaffi...@freebsd.org>
AuthorDate: 2021-01-24 21:38:59 +0000
Commit:     Vincenzo Maffione <vmaffi...@freebsd.org>
CommitDate: 2021-01-31 08:51:56 +0000

    iflib: netmap: move per-packet operation out of fragments loop
    
    MFC after:      1 week
    
    (cherry picked from commit f80efe5016ba01b2948ca1f0eb8fe34adab5b864)
---
 sys/net/iflib.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index 80aeda5847cb..ae203d871a5c 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -1217,17 +1217,18 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int 
flags)
                                                ring->slot[nm_i].flags = 
NS_MOREFRAG;
                                }
 
-                               if (have_rxcq) {
-                                       *cidxp = ri.iri_cidx;
-                                       while (*cidxp >= scctx->isc_nrxd[0])
-                                               *cidxp -= scctx->isc_nrxd[0];
-                               }
-
                                bus_dmamap_sync(fl->ifl_buf_tag,
                                    fl->ifl_sds.ifsd_map[nic_i], 
BUS_DMASYNC_POSTREAD);
                                nm_i = nm_next(nm_i, lim);
                                fl->ifl_cidx = nic_i = nm_next(nic_i, lim);
                        }
+
+                       if (have_rxcq) {
+                               *cidxp = ri.iri_cidx;
+                               while (*cidxp >= scctx->isc_nrxd[0])
+                                       *cidxp -= scctx->isc_nrxd[0];
+                       }
+
                }
                if (n) { /* update the state variables */
                        if (netmap_no_pendintr && !force_update) {
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to