svn commit: r228845 - head/sys/dev/netmap

Luigi Rizzo luigi at FreeBSD.org
Fri Dec 23 16:03:58 UTC 2011


Author: luigi
Date: Fri Dec 23 16:03:57 2011
New Revision: 228845
URL: http://svn.freebsd.org/changeset/base/228845

Log:
  1. don't use if_pspare directly, but through a macro WMA()
  
  2. move a variable declaration at the beginning of a block

Modified:
  head/sys/dev/netmap/netmap.c
  head/sys/dev/netmap/netmap_kern.h

Modified: head/sys/dev/netmap/netmap.c
==============================================================================
--- head/sys/dev/netmap/netmap.c	Fri Dec 23 16:02:14 2011	(r228844)
+++ head/sys/dev/netmap/netmap.c	Fri Dec 23 16:03:57 2011	(r228845)
@@ -1039,7 +1039,7 @@ netmap_poll(__unused struct cdev *dev, i
 	struct netmap_adapter *na;
 	struct ifnet *ifp;
 	struct netmap_kring *kring;
-	u_int i, check_all, want_tx, want_rx, revents = 0;
+	u_int core_lock, i, check_all, want_tx, want_rx, revents = 0;
 	void *adapter;
 
 	if (devfs_get_cdevpriv((void **)&priv) != 0 || priv == NULL)
@@ -1116,8 +1116,7 @@ netmap_poll(__unused struct cdev *dev, i
 	 * LOCKED_CL	core lock is set, so we need to release it.
 	 */
 	enum {NO_CL, NEED_CL, LOCKED_CL };
-	int core_lock = (check_all || !na->separate_locks) ?
-			NEED_CL:NO_CL;
+	core_lock = (check_all || !na->separate_locks) ?  NEED_CL:NO_CL;
 	/*
 	 * We start with a lock free round which is good if we have
 	 * data available. If this fails, then lock and call the sync
@@ -1246,7 +1245,7 @@ netmap_attach(struct netmap_adapter *na,
 
 	buf = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (buf) {
-		ifp->if_pspare[0] = buf;
+		WNA(ifp) = buf;
 		na->tx_rings = (void *)((char *)buf + sizeof(*na));
 		na->rx_rings = na->tx_rings + n;
 		bcopy(na, buf, sizeof(*na));
@@ -1276,7 +1275,7 @@ netmap_detach(struct ifnet *ifp)
 		knlist_destroy(&na->rx_rings[i].si.si_note);
 	}
 	bzero(na, sizeof(*na));
-	ifp->if_pspare[0] = NULL;
+	WNA(ifp) = NULL;
 	free(na, M_DEVBUF);
 }
 

Modified: head/sys/dev/netmap/netmap_kern.h
==============================================================================
--- head/sys/dev/netmap/netmap_kern.h	Fri Dec 23 16:02:14 2011	(r228844)
+++ head/sys/dev/netmap/netmap_kern.h	Fri Dec 23 16:03:57 2011	(r228845)
@@ -196,9 +196,13 @@ enum {                                  
 };
 
 /*
- * return a pointer to the struct netmap adapter from the ifp
+ * NA returns a pointer to the struct netmap adapter from the ifp,
+ * WNA is used to write it.
  */
-#define	NA(_ifp)	((struct netmap_adapter *)(_ifp)->if_pspare[0])
+#ifndef WNA
+#define	WNA(_ifp)	(_ifp)->if_pspare[0]
+#endif
+#define	NA(_ifp)	((struct netmap_adapter *)WNA(_ifp))
 
 
 /*


More information about the svn-src-head mailing list