We used to count exact match cache hits and masked classifier hits together. This commit splits the DP_STAT_HIT counter into two. This change will be used by future commits.
Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 47f81d3..44e25f4 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -220,7 +220,8 @@ static struct dp_netdev_port *dp_netdev_lookup_port(const struct dp_netdev *dp, odp_port_t); enum dp_stat_type { - DP_STAT_HIT, /* Packets that matched in the flow table. */ + DP_STAT_EXACT_HIT, /* Packets that had an exact match (emc). */ + DP_STAT_MASKED_HIT, /* Packets that matched in the flow table. */ DP_STAT_MISS, /* Packets that did not match. */ DP_STAT_LOST, /* Packets not passed up to the client. */ DP_N_STATS @@ -755,7 +756,8 @@ dpif_netdev_get_stats(const struct dpif *dpif, struct dpif_dp_stats *stats) stats->n_flows = stats->n_hit = stats->n_missed = stats->n_lost = 0; CMAP_FOR_EACH (pmd, node, &dp->poll_threads) { stats->n_flows += cmap_count(&pmd->flow_table); - stats->n_hit += pmd->stats.n[DP_STAT_HIT]; + stats->n_hit += pmd->stats.n[DP_STAT_MASKED_HIT] + + pmd->stats.n[DP_STAT_EXACT_HIT]; stats->n_missed += pmd->stats.n[DP_STAT_MISS]; stats->n_lost += pmd->stats.n[DP_STAT_LOST]; } @@ -2780,7 +2782,8 @@ packet_batch_init(struct packet_batch *batch, struct dp_netdev_flow *flow) static inline void packet_batch_execute(struct packet_batch *batch, - struct dp_netdev_pmd_thread *pmd) + struct dp_netdev_pmd_thread *pmd, + enum dp_stat_type hit_type) { struct dp_netdev_actions *actions; struct dp_netdev_flow *flow = batch->flow; @@ -2793,7 +2796,7 @@ packet_batch_execute(struct packet_batch *batch, dp_netdev_execute_actions(pmd, batch->packets, batch->packet_count, true, actions->actions, actions->size); - dp_netdev_count_packet(pmd, DP_STAT_HIT, batch->packet_count); + dp_netdev_count_packet(pmd, hit_type, batch->packet_count); } static inline bool @@ -2884,7 +2887,7 @@ emc_processing(struct dp_netdev_pmd_thread *pmd, struct dpif_packet **packets, } for (i = 0; i < n_batches; i++) { - packet_batch_execute(&batches[i], pmd); + packet_batch_execute(&batches[i], pmd, DP_STAT_EXACT_HIT); } return notfound_cnt; @@ -3020,7 +3023,7 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd, } for (i = 0; i < n_batches; i++) { - packet_batch_execute(&batches[i], pmd); + packet_batch_execute(&batches[i], pmd, DP_STAT_MASKED_HIT); } } -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev