svn commit: r196020 - head/sys/net

Robert Watson rwatson at FreeBSD.org
Sat Aug 1 20:24:47 UTC 2009


Author: rwatson
Date: Sat Aug  1 20:24:45 2009
New Revision: 196020
URL: http://svn.freebsd.org/changeset/base/196020

Log:
  Remove vnet_foreach() utility function, which previously allowed
  vnet.c to iterate virtual network stacks without being aware of
  the implementation details previously hidden in kern_vimage.c.
  Now they are in the same file, so remove this added complexity.
  
  Reviewed by:	bz
  Approved by:	re (vimage blanket)

Modified:
  head/sys/net/vnet.c

Modified: head/sys/net/vnet.c
==============================================================================
--- head/sys/net/vnet.c	Sat Aug  1 19:26:27 2009	(r196019)
+++ head/sys/net/vnet.c	Sat Aug  1 20:24:45 2009	(r196020)
@@ -261,17 +261,6 @@ vnet_destroy(struct vnet *vnet)
 	free(vnet, M_VNET);
 }
 
-static void
-vnet_foreach(void (*vnet_foreach_fn)(struct vnet *, void *), void *arg)
-{
-	struct vnet *vnet;
-
-	VNET_LIST_RLOCK();
-	LIST_FOREACH(vnet, &vnet_head, vnet_le)
-		vnet_foreach_fn(vnet, arg);
-	VNET_LIST_RUNLOCK();
-}
-
 /*
  * Boot time initialization and allocation of virtual network stacks.
  */
@@ -443,20 +432,6 @@ vnet_data_free(void *start_arg, int size
 	sx_xunlock(&vnet_data_free_lock);
 }
 
-struct vnet_data_copy_fn_arg {
-	void	*start;
-	int	 size;
-};
-
-static void
-vnet_data_copy_fn(struct vnet *vnet, void *arg)
-{
-	struct vnet_data_copy_fn_arg *varg = arg;
-
-	memcpy((void *)((uintptr_t)vnet->vnet_data_base +
-	    (uintptr_t)varg->start), varg->start, varg->size);
-}
-
 /*
  * When a new virtualized global variable has been allocated, propagate its
  * initial value to each already-allocated virtual network stack instance.
@@ -464,11 +439,13 @@ vnet_data_copy_fn(struct vnet *vnet, voi
 void
 vnet_data_copy(void *start, int size)
 {
-	struct vnet_data_copy_fn_arg varg;
+	struct vnet *vnet;
 
-	varg.start = start;
-	varg.size = size;
-	vnet_foreach(vnet_data_copy_fn, &varg);
+	VNET_LIST_RLOCK();
+	LIST_FOREACH(vnet, &vnet_head, vnet_le)
+		memcpy((void *)((uintptr_t)vnet->vnet_data_base +
+		    (uintptr_t)start), start, size);
+	VNET_LIST_RUNLOCK();
 }
 
 /*


More information about the svn-src-head mailing list