[ofa-general] Re: [PATCH v2] opensm/osm_qos_policy.c: log matched QoS criteria
Sasha Khapyorsky
sashak at voltaire.com
Thu May 15 02:52:25 PDT 2008
Hi Yevgeny,
On 12:25 Thu 15 May , Yevgeny Kliteynik wrote:
>
> I think this patch was somehow lost in the pile of patches
> that you recently got. Anyhow, reposting it:
It wasn't lost, I just didn't process it yet (and there still be more
unreviewed patched on the list I need to care about).
My very first thought was to not do it because such debug prints hurt
performance a lot even when log level has lower value (it was measured
very well during Up/Down routing optimizations), so I pend it in order
to get some numbers first.
Another thing I don't like is that with higher debug levels OpenSM
generates ~1GB log file just during initial sweep. But this is more
general concern.
Sasha
> Adding log messages for matched criteria of the QoS policy rule.
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
> ---
> opensm/opensm/osm_qos_policy.c | 18 +++++++++++++++---
> 1 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/opensm/opensm/osm_qos_policy.c b/opensm/opensm/osm_qos_policy.c
> index 6c81872..ebe3a7f 100644
> --- a/opensm/opensm/osm_qos_policy.c
> +++ b/opensm/opensm/osm_qos_policy.c
> @@ -598,10 +598,13 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> {
> osm_qos_match_rule_t *p_qos_match_rule = NULL;
> cl_list_iterator_t list_iterator;
> + osm_log_t * p_log = &p_qos_policy->p_subn->p_osm->log;
>
> if (!cl_list_count(&p_qos_policy->qos_match_rules))
> return NULL;
>
> + OSM_LOG_ENTER(p_log);
> +
> /* Go over all QoS match rules and find the one that matches the request */
>
> list_iterator = cl_list_head(&p_qos_policy->qos_match_rules);
> @@ -624,6 +627,8 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> list_iterator = cl_list_next(list_iterator);
> continue;
> }
> + OSM_LOG(&p_qos_policy->p_subn->p_osm->log, OSM_LOG_DEBUG,
> + "Source port matched.\n");
> }
>
> /* If a match rule has Destination groups, PR request dest. has to be in this list */
> @@ -637,6 +642,8 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> list_iterator = cl_list_next(list_iterator);
> continue;
> }
> + OSM_LOG(&p_qos_policy->p_subn->p_osm->log, OSM_LOG_DEBUG,
> + "Destination port matched.\n");
> }
>
> /* If a match rule has QoS classes, PR request HAS
> @@ -655,7 +662,8 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> list_iterator = cl_list_next(list_iterator);
> continue;
> }
> -
> + OSM_LOG(&p_qos_policy->p_subn->p_osm->log, OSM_LOG_DEBUG,
> + "QoS Class matched.\n");
> }
>
> /* If a match rule has Service IDs, PR request HAS
> @@ -675,7 +683,8 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> list_iterator = cl_list_next(list_iterator);
> continue;
> }
> -
> + OSM_LOG(&p_qos_policy->p_subn->p_osm->log, OSM_LOG_DEBUG,
> + "Service ID matched.\n");
> }
>
> /* If a match rule has PKeys, PR request HAS
> @@ -694,13 +703,16 @@ static osm_qos_match_rule_t *__qos_policy_get_match_rule_by_params(
> list_iterator = cl_list_next(list_iterator);
> continue;
> }
> -
> + OSM_LOG(&p_qos_policy->p_subn->p_osm->log, OSM_LOG_DEBUG,
> + "PKey matched.\n");
> }
>
> /* if we got here, then this match-rule matched this PR request */
> break;
> }
>
> + OSM_LOG_EXIT(p_log);
> +
> if (list_iterator == cl_list_end(&p_qos_policy->qos_match_rules))
> return NULL;
>
> --
> 1.5.1.4
>
More information about the general
mailing list