svn commit: r296032 - head/sys/dev/vnic

Zbigniew Bodek zbb at FreeBSD.org
Thu Feb 25 14:17:15 UTC 2016


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);


More information about the svn-src-head mailing list