Use thread local storage for thread index 11/6011/4
authorDamjan Marion <damarion@cisco.com>
Wed, 5 Apr 2017 17:18:20 +0000 (19:18 +0200)
committerDave Barach <openvpp@barachs.net>
Thu, 6 Apr 2017 11:31:39 +0000 (11:31 +0000)
commit586afd762bfa149f5ca167bd5fd5a0cd59ce94fe
tree808b57c61e0fe1a181871bb1ad94398c5ba42671
parentbc799c92d761a2d45105aa6a1685b3663687d2a4
Use thread local storage for thread index

This patch deprecates stack-based thread identification,
Also removes requirement that thread stacks are adjacent.

Finally, possibly annoying for some folks, it renames
all occurences of cpu_index and cpu_number with thread
index. Using word "cpu" is misleading here as thread can
be migrated ti different CPU, and also it is not related
to linux cpu index.

Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1
Signed-off-by: Damjan Marion <damarion@cisco.com>
109 files changed:
src/examples/srv6-sample-localsid/node.c
src/plugins/dpdk/buffer.c
src/plugins/dpdk/device/device.c
src/plugins/dpdk/device/dpdk_priv.h
src/plugins/dpdk/device/init.c
src/plugins/dpdk/device/node.c
src/plugins/dpdk/hqos/hqos.c
src/plugins/dpdk/ipsec/cli.c
src/plugins/dpdk/ipsec/crypto_node.c
src/plugins/dpdk/ipsec/esp.h
src/plugins/dpdk/ipsec/esp_decrypt.c
src/plugins/dpdk/ipsec/esp_encrypt.c
src/plugins/dpdk/ipsec/ipsec.c
src/plugins/dpdk/ipsec/ipsec.h
src/plugins/dpdk/main.c
src/plugins/flowperpkt/l2_node.c
src/plugins/flowperpkt/node.c
src/plugins/ioam/export-common/ioam_export.h
src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c
src/plugins/ixge/ixge.c
src/plugins/lb/lb.c
src/plugins/lb/node.c
src/plugins/lb/refcount.c
src/plugins/lb/refcount.h
src/plugins/memif/node.c
src/plugins/snat/in2out.c
src/plugins/snat/out2in.c
src/plugins/snat/snat.h
src/vlib/buffer.c
src/vlib/buffer_funcs.h
src/vlib/cli.c
src/vlib/counter.h
src/vlib/error.c
src/vlib/global_funcs.h
src/vlib/main.c
src/vlib/main.h
src/vlib/node.c
src/vlib/node.h
src/vlib/node_funcs.h
src/vlib/threads.c
src/vlib/threads.h
src/vlib/unix/cj.c
src/vlib/unix/cj.h
src/vlib/unix/main.c
src/vnet/adj/adj_l2.c
src/vnet/adj/adj_midchain.c
src/vnet/adj/adj_nsh.c
src/vnet/classify/vnet_classify.c
src/vnet/cop/ip4_whitelist.c
src/vnet/cop/ip6_whitelist.c
src/vnet/devices/af_packet/node.c
src/vnet/devices/devices.c
src/vnet/devices/devices.h
src/vnet/devices/netmap/node.c
src/vnet/devices/ssvm/node.c
src/vnet/devices/virtio/vhost-user.c
src/vnet/dpo/lookup_dpo.c
src/vnet/dpo/replicate_dpo.c
src/vnet/ethernet/arp.c
src/vnet/ethernet/interface.c
src/vnet/ethernet/node.c
src/vnet/gre/node.c
src/vnet/interface.h
src/vnet/interface_output.c
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip4_input.c
src/vnet/ip/ip6_forward.c
src/vnet/ip/ip6_input.c
src/vnet/ip/ip6_neighbor.c
src/vnet/ipsec/esp.h
src/vnet/ipsec/esp_decrypt.c
src/vnet/ipsec/esp_encrypt.c
src/vnet/ipsec/ikev2.c
src/vnet/ipsec/ipsec.h
src/vnet/ipsec/ipsec_if.c
src/vnet/l2/l2_bvi.h
src/vnet/l2/l2_input.c
src/vnet/l2/l2_output.c
src/vnet/l2tp/decap.c
src/vnet/l2tp/encap.c
src/vnet/l2tp/l2tp.c
src/vnet/lisp-gpe/decap.c
src/vnet/lldp/lldp_input.c
src/vnet/map/ip4_map.c
src/vnet/map/ip4_map_t.c
src/vnet/map/ip6_map.c
src/vnet/map/ip6_map_t.c
src/vnet/mpls/mpls_input.c
src/vnet/mpls/mpls_lookup.c
src/vnet/mpls/mpls_output.c
src/vnet/pg/input.c
src/vnet/replication.c
src/vnet/replication.h
src/vnet/session/node.c
src/vnet/sr/sr_localsid.c
src/vnet/tcp/builtin_client.c
src/vnet/tcp/tcp.c
src/vnet/tcp/tcp_debug.h
src/vnet/tcp/tcp_input.c
src/vnet/tcp/tcp_output.c
src/vnet/udp/udp_input.c
src/vnet/unix/tapcli.c
src/vnet/unix/tuntap.c
src/vnet/vxlan-gpe/decap.c
src/vnet/vxlan-gpe/encap.c
src/vnet/vxlan/decap.c
src/vnet/vxlan/encap.c
src/vpp/stats/stats.c
src/vpp/stats/stats.h