]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Change the initialization methodology for global variables scheduled
authorzec <zec@FreeBSD.org>
Wed, 19 Nov 2008 09:39:34 +0000 (09:39 +0000)
committerzec <zec@FreeBSD.org>
Wed, 19 Nov 2008 09:39:34 +0000 (09:39 +0000)
commit815d52c5df6a76286604478e5223d2f2c87b2c04
tree3d398563f1e14b804a0558dd3dda1de9a42b9970
parent881f5acc93790d49318ffde65d52c6f45ca9c1f8
Change the initialization methodology for global variables scheduled
for virtualization.

Instead of initializing the affected global variables at instatiation,
assign initial values to them in initializer functions.  As a rule,
initialization at instatiation for such variables should never be
introduced again from now on.  Furthermore, enclose all instantiations
of such global variables in #ifdef VIMAGE_GLOBALS blocks.

Essentialy, this change should have zero functional impact.  In the next
phase of merging network stack virtualization infrastructure from
p4/vimage branch, the new initialization methology will allow us to
switch between using global variables and their counterparts residing in
virtualization containers with minimum code churn, and in the long run
allow us to intialize multiple instances of such container structures.

Discussed at: devsummit Strassburg
Reviewed by: bz, julian
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
60 files changed:
sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c
sys/net/if.c
sys/net/if_ethersubr.c
sys/net/if_gif.c
sys/net/if_loop.c
sys/net/raw_cb.c
sys/net/route.c
sys/netinet/if_ether.c
sys/netinet/igmp.c
sys/netinet/in.c
sys/netinet/in_gif.c
sys/netinet/in_mcast.c
sys/netinet/in_pcb.c
sys/netinet/in_pcb.h
sys/netinet/in_proto.c
sys/netinet/in_rmx.c
sys/netinet/in_var.h
sys/netinet/ip_divert.c
sys/netinet/ip_fastfwd.c
sys/netinet/ip_icmp.c
sys/netinet/ip_icmp.h
sys/netinet/ip_input.c
sys/netinet/ip_output.c
sys/netinet/raw_ip.c
sys/netinet/tcp_hostcache.c
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_reass.c
sys/netinet/tcp_sack.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_syncache.c
sys/netinet/tcp_timewait.c
sys/netinet/tcp_var.h
sys/netinet/udp_usrreq.c
sys/netinet/vinet.h
sys/netinet6/frag6.c
sys/netinet6/icmp6.c
sys/netinet6/in6_ifattach.c
sys/netinet6/in6_proto.c
sys/netinet6/in6_rmx.c
sys/netinet6/in6_src.c
sys/netinet6/ip6_forward.c
sys/netinet6/ip6_input.c
sys/netinet6/ip6_mroute.c
sys/netinet6/mld6.c
sys/netinet6/nd6.c
sys/netinet6/nd6_nbr.c
sys/netinet6/nd6_rtr.c
sys/netinet6/raw_ip6.c
sys/netinet6/scope6.c
sys/netinet6/vinet6.h
sys/netipsec/ipsec.c
sys/netipsec/ipsec.h
sys/netipsec/key.c
sys/netipsec/keysock.c
sys/netipsec/xform_ah.c
sys/netipsec/xform_esp.c
sys/netipsec/xform_ipcomp.c
sys/netipsec/xform_ipip.c
sys/sys/vimage.h