[ofa-general] RE: [PATCH] opensm: Bug in coding trying to set vl_arb_high_limit

Sasha Khapyorsky sashak at voltaire.com
Thu Jul 19 05:13:37 PDT 2007


On Thu, 2007-07-19 at 07:51 +0300, Eitan Zahavi wrote:
> Ohh your right. The Enh0 should get an update. 
> I thought I got it right. Do you want me to provide an updated patch?

I can update on my side - I think we could remove VLHighLimit update
from osm_lid_mgr and have one only in osm_link_mgr.

Sasha

> 
> Eitan Zahavi
> Senior Engineering Director, Software Architect
> Mellanox Technologies LTD
> Tel:+972-4-9097208
> Fax:+972-4-9593245
> P.O. Box 586 Yokneam 20692 ISRAEL
> 
>  
> 
> > -----Original Message-----
> > From: Sasha Khapyorsky [mailto:sashak at voltaire.com] 
> > Sent: Wednesday, July 18, 2007 10:22 PM
> > To: Eitan Zahavi
> > Cc: OPENIB; hal.rosenstock at gmail.com; Yevgeny Kliteynik
> > Subject: Re: [PATCH] opensm: Bug in coding trying to set 
> > vl_arb_high_limit
> > 
> > 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