Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2018 19:13:01 +0000 (UTC)
From:      Matt Macy <mmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r333469 - in head/sys: conf net
Message-ID:  <201805101913.w4AJD1vO069109@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mmacy
Date: Thu May 10 19:13:00 2018
New Revision: 333469
URL: https://svnweb.freebsd.org/changeset/base/333469

Log:
  Allocate epoch for networking at startup
  
  Additionally add CK to include paths for modules
  
  Approved by:	sbruno@

Modified:
  head/sys/conf/kmod.mk
  head/sys/net/if.c
  head/sys/net/if_var.h

Modified: head/sys/conf/kmod.mk
==============================================================================
--- head/sys/conf/kmod.mk	Thu May 10 18:53:39 2018	(r333468)
+++ head/sys/conf/kmod.mk	Thu May 10 19:13:00 2018	(r333469)
@@ -122,7 +122,7 @@ CFLAGS+=	-DHAVE_KERNEL_OPTION_HEADERS -include ${KERNB
 # Add -I paths for system headers.  Individual module makefiles don't
 # need any -I paths for this.  Similar defaults for .PATH can't be
 # set because there are no standard paths for non-headers.
-CFLAGS+=	-I. -I${SYSDIR}
+CFLAGS+=	-I. -I${SYSDIR} -I${SYSDIR}/contrib/ck/include
 
 CFLAGS.gcc+=	-finline-limit=${INLINE_LIMIT}
 CFLAGS.gcc+=	-fms-extensions

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Thu May 10 18:53:39 2018	(r333468)
+++ head/sys/net/if.c	Thu May 10 19:13:00 2018	(r333469)
@@ -104,6 +104,7 @@
 _Static_assert(sizeof(((struct ifreq *)0)->ifr_name) ==
     offsetof(struct ifreq, ifr_ifru), "gap between ifr_name and ifr_ifru");
 
+epoch_t net_epoch;
 #ifdef COMPAT_FREEBSD32
 #include <sys/mount.h>
 #include <compat/freebsd32/freebsd32.h>
@@ -903,6 +904,7 @@ if_attachdomain(void *dummy)
 {
 	struct ifnet *ifp;
 
+	net_epoch = epoch_alloc();
 	TAILQ_FOREACH(ifp, &V_ifnet, if_link)
 		if_attachdomain1(ifp);
 }

Modified: head/sys/net/if_var.h
==============================================================================
--- head/sys/net/if_var.h	Thu May 10 18:53:39 2018	(r333468)
+++ head/sys/net/if_var.h	Thu May 10 19:13:00 2018	(r333469)
@@ -76,6 +76,8 @@ struct	netdump_methods;
 #include <sys/mbuf.h>		/* ifqueue only? */
 #include <sys/buf_ring.h>
 #include <net/vnet.h>
+#include <ck_queue.h>
+#include <sys/epoch.h>
 #endif /* _KERNEL */
 #include <sys/counter.h>
 #include <sys/lock.h>		/* XXX */
@@ -104,6 +106,7 @@ VNET_DECLARE(struct hhook_head *, ipsec_hhh_in[HHOOK_I
 VNET_DECLARE(struct hhook_head *, ipsec_hhh_out[HHOOK_IPSEC_COUNT]);
 #define	V_ipsec_hhh_in	VNET(ipsec_hhh_in)
 #define	V_ipsec_hhh_out	VNET(ipsec_hhh_out)
+extern epoch_t net_epoch;
 #endif /* _KERNEL */
 
 typedef enum {



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