| 2604 | } |
| 2605 | |
| 2606 | static inline void |
| 2607 | prefetch_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 | |
| 2628 | static struct mbuf * |
| 2629 | rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, bool unload, if_rxsd_t sd, |
no test coverage detected