Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Dec 2011 16:03:57 +0000 (UTC)
From:      Luigi Rizzo <luigi@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r228845 - head/sys/dev/netmap
Message-ID:  <201112231603.pBNG3vrV073739@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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))
 
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112231603.pBNG3vrV073739>