Author: zbb
Date: Thu Feb 25 14:17:13 2016
New Revision: 296032
URL: https://svnweb.freebsd.org/changeset/base/296032

Log:
  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

Modified:
  head/sys/dev/vnic/nicvf_queues.c

Modified: head/sys/dev/vnic/nicvf_queues.c
==============================================================================
--- head/sys/dev/vnic/nicvf_queues.c    Thu Feb 25 14:14:46 2016        
(r296031)
+++ head/sys/dev/vnic/nicvf_queues.c    Thu Feb 25 14:17:13 2016        
(r296032)
@@ -768,6 +768,8 @@ nicvf_cq_intr_handler(struct nicvf *nic,
                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);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to