From: Ethan Jackson Date: Thu, 21 Nov 2013 00:18:24 +0000 (-0800) Subject: ofproto-dpif: Remove avg_subfacet_life. X-Git-Tag: sliver-openvswitch-2.1.90-1~10^2~190 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=aef0491bc0b977d4777d265e8cb3410de435ed79 ofproto-dpif: Remove avg_subfacet_life. This is going to be hard to compute efficiently in the new architecture introduced in future patches. Signed-off-by: Ethan Jackson Acked-by: Ben Pfaff --- diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 11484cb6e..fc21991d1 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -450,7 +450,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. */ /* Number of upcall handling threads. */ unsigned int n_handler_threads; @@ -1178,7 +1177,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; } @@ -3440,19 +3438,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; @@ -5581,10 +5566,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 b53dffc75..9935d734e 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)