[ofa-general] [PATCH 3/5] opensm/osm_subnet.h put qos options flat below subnet opt

Sasha Khapyorsky sashak at voltaire.com
Thu Jan 22 02:23:43 PST 2009


Hi Eli,

On 16:04 Tue 20 Jan     , Eli Dorfman (Voltaire) wrote:
>  put qos options flat below subnet opt
>  put all qos option parameters (default, ca, sw, router) flat below subnet opt
> 
> Signed-off-by: Eli Dorfman <elid at voltaire.com>
> ---
>  opensm/include/opensm/osm_subnet.h |   40 +++++++++++++++++++++++++++---------
>  1 files changed, 30 insertions(+), 10 deletions(-)
> 
> diff --git a/opensm/include/opensm/osm_subnet.h b/opensm/include/opensm/osm_subnet.h
> index 8863e47..692e449 100644
> --- a/opensm/include/opensm/osm_subnet.h
> +++ b/opensm/include/opensm/osm_subnet.h
> @@ -99,11 +99,11 @@ struct osm_qos_policy;
>  * SYNOPSIS
>  */
>  typedef struct osm_qos_options {
> -	unsigned max_vls;
> -	int high_limit;
> -	char *vlarb_high;
> -	char *vlarb_low;
> -	char *sl2vl;
> +	unsigned qos_max_vls;
> +	int qos_high_limit;
> +	char *qos_vlarb_high;
> +	char *qos_vlarb_low;
> +	char *qos_sl2vl;
>  } osm_qos_options_t;
>  /*
>  * FIELDS
> @@ -199,11 +199,31 @@ typedef struct osm_subn_opt {
>  	boolean_t daemon;
>  	boolean_t sm_inactive;
>  	boolean_t babbling_port_policy;
> -	osm_qos_options_t qos_options;
> -	osm_qos_options_t qos_ca_options;
> -	osm_qos_options_t qos_sw0_options;
> -	osm_qos_options_t qos_swe_options;
> -	osm_qos_options_t qos_rtr_options;
> +	unsigned qos_max_vls;
> +	int qos_high_limit;
> +	char *qos_vlarb_high;
> +	char *qos_vlarb_low;
> +	char *qos_sl2vl;
> +	unsigned qos_ca_max_vls;
> +	int qos_ca_high_limit;
> +	char *qos_ca_vlarb_high;
> +	char *qos_ca_vlarb_low;
> +	char *qos_ca_sl2vl;
> +	unsigned qos_sw0_max_vls;
> +	int qos_sw0_high_limit;
> +	char *qos_sw0_vlarb_high;
> +	char *qos_sw0_vlarb_low;
> +	char *qos_sw0_sl2vl;
> +	unsigned qos_swe_max_vls;
> +	int qos_swe_high_limit;
> +	char *qos_swe_vlarb_high;
> +	char *qos_swe_vlarb_low;
> +	char *qos_swe_sl2vl;
> +	unsigned qos_rtr_max_vls;
> +	int qos_rtr_high_limit;
> +	char *qos_rtr_vlarb_high;
> +	char *qos_rtr_vlarb_low;
> +	char *qos_rtr_sl2vl;

Looking on patch 5 I think that I understand your motivation. However
I'm not sure that it is a good idea - sooner or later we will need to
support QoS port parameters setup configurable per port (and not just
per port type as now), so it would be desirable to preserve QoS port
parameter processing as whole block in general.

Also I think you can use something like:

	{ "qos_ca_max_vls", OPT_OFFSET(qos_ca_options.max_vls), ... },

in your array in patch 5 and preserve QoS configuration unchanged.

Sasha

>  	boolean_t enable_quirks;
>  	boolean_t no_clients_rereg;
>  #ifdef ENABLE_OSM_PERF_MGR
> -- 
> 1.5.5
> 



More information about the general mailing list