This is going to be hard to compute efficiently in the new architecture introduced in future patches.
Signed-off-by: Ethan Jackson <et...@nicira.com> --- ofproto/ofproto-dpif-upcall.c | 4 ++-- ofproto/ofproto-dpif.c | 23 ++++------------------- tests/ofproto-dpif.at | 10 +++++----- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index f35fa94..00ac152 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -905,8 +905,8 @@ upcall_unixctl_show(struct unixctl_conn *conn, int argc OVS_UNUSED, struct handler *handler = &udpif->handlers[i]; ovs_mutex_lock(&handler->mutex); - ds_put_format(&ds, "\t%s: (upcall queue %"PRIuSIZE")\n", handler->name, - handler->n_upcalls); + ds_put_format(&ds, "\t%s: (upcall queue %"PRIuSIZE")\n", + handler->name, handler->n_upcalls); ovs_mutex_unlock(&handler->mutex); } } diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 2659a5b..0c95cfa 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -448,7 +448,6 @@ struct dpif_backer { * performance in new situations. */ unsigned max_n_subfacet; /* Maximum number of flows */ unsigned avg_n_subfacet; /* Average number of flows. */ - long long int avg_subfacet_life; /* Average life span of subfacets. */ }; /* All existing ofproto_backer instances, indexed by ofproto->up.type. */ @@ -1165,7 +1164,6 @@ open_dpif_backer(const char *type, struct dpif_backer **backerp) backer->max_n_subfacet = 0; backer->avg_n_subfacet = 0; - backer->avg_subfacet_life = 0; return error; } @@ -3399,19 +3397,6 @@ expire(struct dpif_backer *backer) update_stats(backer); n_subfacets = hmap_count(&backer->subfacets); - if (n_subfacets) { - struct subfacet *subfacet; - long long int total, now; - - total = 0; - now = time_msec(); - HMAP_FOR_EACH (subfacet, hmap_node, &backer->subfacets) { - total += now - subfacet->created; - } - backer->avg_subfacet_life += total / n_subfacets; - } - backer->avg_subfacet_life /= 2; - backer->avg_n_subfacet += n_subfacets; backer->avg_n_subfacet /= 2; @@ -5536,10 +5521,10 @@ dpif_show_backer(const struct dpif_backer *backer, struct ds *ds) ds_put_format(ds, "%s: hit:%"PRIu64" missed:%"PRIu64"\n", dpif_name(backer->dpif), n_hit, n_missed); - ds_put_format(ds, "\tflows: cur: %"PRIuSIZE", avg: %u, max: %u," - " life span: %lldms\n", hmap_count(&backer->subfacets), - backer->avg_n_subfacet, backer->max_n_subfacet, - backer->avg_subfacet_life); + + ds_put_format(ds, "\tflows: cur: %"PRIuSIZE", avg: %u, max: %u\n", + hmap_count(&backer->subfacets), backer->avg_n_subfacet, + backer->max_n_subfacet); shash_init(&ofproto_shash); ofprotos = get_ofprotos(&ofproto_shash); diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index 4d8d460..a1d8466 100644 --- a/tests/ofproto-dpif.at +++ b/tests/ofproto-dpif.at @@ -2347,7 +2347,7 @@ ADD_OF_PORTS([br1], [3]) AT_CHECK([ovs-appctl dpif/show], [0], [dnl dummy@ovs-dummy: hit:0 missed:0 - flows: cur: 0, avg: 0, max: 0, life span: 0ms + flows: cur: 0, avg: 0, max: 0 br0: hit:0 missed:0 br0 65534/100: (dummy) p1 1/1: (dummy) @@ -2420,7 +2420,7 @@ OVS_VSWITCHD_START([add-br br1 \ ADD_OF_PORTS([br0], [2]) ADD_OF_PORTS([br1], [3]) -AT_CHECK([ovs-appctl time/stop]) dnl Make life span averages consistent. +AT_CHECK([ovs-appctl time/stop]) AT_CHECK([ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2]) AT_CHECK([ovs-ofctl add-flow br1 actions=LOCAL,output:1,output:3]) @@ -2439,7 +2439,7 @@ warped AT_CHECK([ovs-appctl dpif/show], [0], [dnl dummy@ovs-dummy: hit:13 missed:2 - flows: cur: 2, avg: 1, max: 2, life span: 1250ms + flows: cur: 2, avg: 1, max: 2 br0: hit:9 missed:1 br0 65534/100: (dummy) p2 2/2: (dummy) @@ -2476,7 +2476,7 @@ AT_SETUP([ofproto-dpif - ovs-appctl dpif/show rates]) OVS_VSWITCHD_START([set Bridge br0 fail-mode=secure]) ADD_OF_PORTS([br0], 1, 2) -AT_CHECK([ovs-appctl time/stop]) dnl Make life span averages consistent. +AT_CHECK([ovs-appctl time/stop]) AT_CHECK([ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2]) for i in $(seq 1 61); do @@ -2490,7 +2490,7 @@ AT_CHECK([ovs-appctl time/warp 10000], [0], [warped AT_CHECK([ovs-appctl dpif/show | sed 's/ 10[[0-9]]\{3\}(ms)$/ 10000(ms)/'], [0], [dnl dummy@ovs-dummy: hit:0 missed:61 - flows: cur: 0, avg: 0, max: 1, life span: 1666ms + flows: cur: 0, avg: 0, max: 1 br0: hit:0 missed:61 br0 65534/100: (dummy) p1 1/1: (dummy) -- 1.8.1.2 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev