MCPcopy Create free account
hub / github.com/F-Stack/f-stack / prefetch_pkts

Function prefetch_pkts

freebsd/net/iflib.c:2606–2626  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2604}
2605
2606static inline void
2607prefetch_pkts(iflib_fl_t fl, int cidx)
2608{
2609 int nextptr;
2610 int nrxd = fl->ifl_size;
2611 caddr_t next_rxd;
2612
2613 nextptr = (cidx + CACHE_PTR_INCREMENT) & (nrxd-1);
2614 prefetch(&fl->ifl_sds.ifsd_m[nextptr]);
2615 prefetch(&fl->ifl_sds.ifsd_cl[nextptr]);
2616 next_rxd = calc_next_rxd(fl, cidx);
2617 prefetch(next_rxd);
2618 prefetch(fl->ifl_sds.ifsd_m[(cidx + 1) & (nrxd-1)]);
2619 prefetch(fl->ifl_sds.ifsd_m[(cidx + 2) & (nrxd-1)]);
2620 prefetch(fl->ifl_sds.ifsd_m[(cidx + 3) & (nrxd-1)]);
2621 prefetch(fl->ifl_sds.ifsd_m[(cidx + 4) & (nrxd-1)]);
2622 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 1) & (nrxd-1)]);
2623 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 2) & (nrxd-1)]);
2624 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 3) & (nrxd-1)]);
2625 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 4) & (nrxd-1)]);
2626}
2627
2628static struct mbuf *
2629rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, bool unload, if_rxsd_t sd,

Callers 1

rxd_frag_to_sdFunction · 0.85

Calls 2

prefetchFunction · 0.85
calc_next_rxdFunction · 0.85

Tested by

no test coverage detected