[ofa-general] Re: [PATCH] opensm: Bug in coding trying to set vl_arb_high_limit
Sasha Khapyorsky
sashak at voltaire.com
Wed Jul 18 12:22:18 PDT 2007
Hi Eitan,
On 19:31 Wed 18 Jul , Eitan Zahavi wrote:
> Hi Sasha
>
> When QoS setup is done the code was trying to send updates of
> vl_arb_high_limit by req_set of PORT_INFO with the new data.
> However, at that stage the SM still did not assign LIDs to the ports.
> So the sent PortInfo.base_lid was still zero. The specification does not
> allow for such LIDs (they are considered ilegal).
>
> the patch below fixes this by storing the calculated value and later
> using it in link and lid managers.
Good, Thanks (and this also saves one PortInfo update MAD). One question below:
>
> Eitan
>
> Signed-off-by: Eitan Zahavi <eitan at mellanox.co.il>
>
[snip...]
> diff --git a/opensm/opensm/osm_lid_mgr.c b/opensm/opensm/osm_lid_mgr.c
> index bc3f8b3..ed76382 100644
> --- a/opensm/opensm/osm_lid_mgr.c
> +++ b/opensm/opensm/osm_lid_mgr.c
> @@ -1182,6 +1182,14 @@ __osm_lid_mgr_set_physp_pi(
> ib_port_info_get_port_state(p_old_pi) )
> send_set = TRUE;
> }
> +
> + /* provide the vl_high_limit from the qos mgr */
> + if (p_mgr->p_subn->opt.no_qos == FALSE)
> + if (p_physp->vl_high_limit != p_old_pi->vl_high_limit)
> + {
> + send_set = TRUE;
> + p_pi->vl_high_limit = p_physp->vl_high_limit;
> + }
This part of code is for port_num != 0, so VLHighLimit setup will be
skipped for switch enhanced port 0. Is it something expected? If so why?
Sasha
More information about the general
mailing list