svn commit: r277885 - head/sys/dev/sfxge

Andrew Rybchenko arybchik at FreeBSD.org
Thu Jan 29 18:52:34 UTC 2015


Author: arybchik
Date: Thu Jan 29 18:52:33 2015
New Revision: 277885
URL: https://svnweb.freebsd.org/changeset/base/277885

Log:
  sfxge: Move txq->next pointer to part writable on completion path
  
  In fact the pointer is used only if more than one TXQ is processed in
  one interrupt.
  It is used (read-write) on completion path only.
  Also it makes the first part of the structure smaller and it fits now
  into one 128byte cache line. So, TXQ structure becomes 128 bytes smaller.
  
  Sponsored by:   Solarflare Communications, Inc.
  Approved by:    gnn (mentor)

Modified:
  head/sys/dev/sfxge/sfxge_tx.h

Modified: head/sys/dev/sfxge/sfxge_tx.h
==============================================================================
--- head/sys/dev/sfxge/sfxge_tx.h	Thu Jan 29 18:50:25 2015	(r277884)
+++ head/sys/dev/sfxge/sfxge_tx.h	Thu Jan 29 18:52:33 2015	(r277885)
@@ -139,7 +139,6 @@ struct sfxge_txq {
 	bus_dma_tag_t			packet_dma_tag;
 	efx_buffer_t			*pend_desc;
 	efx_txq_t			*common;
-	struct sfxge_txq		*next;
 
 	efsys_mem_t			*tsoh_buffer;
 
@@ -173,6 +172,7 @@ struct sfxge_txq {
 	 */
 	unsigned int			pending __aligned(CACHE_LINE_SIZE);
 	unsigned int			completed;
+	struct sfxge_txq		*next;
 };
 
 extern int sfxge_tx_packet_add(struct sfxge_txq *, struct mbuf *);


More information about the svn-src-head mailing list