Prefetch next CQ descriptor in Completion Queue handling loop of VNIC

Reviewed by:   wma
Obtained from: Semihalf
Sponsored by:  Cavium
Differential Revision: https://reviews.freebsd.org/D5322
This commit is contained in:
Zbigniew Bodek 2016-02-25 14:17:13 +00:00
parent 053f3d0e7e
commit 44dd269352
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=296032

View File

@ -768,6 +768,8 @@ nicvf_cq_intr_handler(struct nicvf *nic, uint8_t cq_idx)
cq_desc = (struct cqe_rx_t *)GET_CQ_DESC(cq, cqe_head);
cqe_head++;
cqe_head &= (cq->dmem.q_len - 1);
/* Prefetch next CQ descriptor */
__builtin_prefetch((struct cqe_rx_t *)GET_CQ_DESC(cq, cqe_head));
dprintf(nic->dev, "CQ%d cq_desc->cqe_type %d\n", cq_idx,
cq_desc->cqe_type);