X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fvport.c;h=2673b817893eb58a9c9ace487c2814006ab8fb36;hb=cb25142c50cd3a92e779ca1ce6f61380ffc75927;hp=7f12acccba44deab0c1950287c685c934b673361;hpb=1839c35676b5c3a2a70e83477a6ce3d3c7d0d245;p=sliver-openvswitch.git diff --git a/datapath/vport.c b/datapath/vport.c index 7f12acccb..2673b8178 100644 --- a/datapath/vport.c +++ b/datapath/vport.c @@ -122,6 +122,7 @@ struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *ops, { struct vport *vport; size_t alloc_size; + int i; alloc_size = sizeof(struct vport); if (priv_size) { @@ -145,6 +146,12 @@ struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *ops, return ERR_PTR(-ENOMEM); } + for_each_possible_cpu(i) { + struct pcpu_tstats *vport_stats; + vport_stats = per_cpu_ptr(vport->percpu_stats, i); + u64_stats_init(&vport_stats->syncp); + } + spin_lock_init(&vport->stats_lock); return vport;