[openib-general] [PATCH 0/6] osm: QoS policy parser

Yevgeny Kliteynik kliteyn at dev.mellanox.co.il
Wed Jan 24 16:34:45 PST 2007


Hi Hal,

Hal Rosenstock wrote:
> Hi Yevgeny,
> 
> On Wed, 2007-01-24 at 09:15, Yevgeny Kliteynik wrote:
> 
> [snip...]
> 
>>> I also have some questions about the patches 
>> Shoot
> 
> First, as I understand it, this higher level QoS is not yet an approved
> standard (annex) so is this code experimental? 

I guess so

> In any case, some things
> might change, etc. so IMO this QoS should be implemented in a way that
> minimizes the risk to the non QoS code. 

Agree

> I suspect the main interactions
> are in osm_sa_path/multipath_record.c but will also extend to the QoS
> manager. So should this all be conditionalized with something like
> QOS_ANNEX and by default be off with some build switch to enable this
> code in OpenSM until be becomes standard ?

I suggest that instead of enclosing the code in ifdef, this new code 
will be invoked only when QoS in OpenSM has been turned on.
 
> When will the remainder of the changes to the QoS manager be ready ? It
> would be good to see the whole picture. Are there any other missing
> pieces ?
 
I'm working right now on checking path record for QoS constraints.
I'm hoping to finish it in a day or two. After that, I'll do the same 
with multipath record.

> It would be good to have some documentation for this including an opensm
> man page update.
> 
> As far as using lex/yacc, are they invoked as part of the build
> procedure or are the files they generate just checked in and used ?

When lex/yacc are invoked, they generate three files: 
  - osm_qos_parser_l.c
  - osm_qos_parser_y.c
  - osm_qos_parser_y.h
These generated files should be included in the git repository,
and they are the ones that are compiled by 'make' command.
To cause lex/yacc generate these files on every compilation, a 
configuration flag '--enable-maintainer-mode' should be used when
running 'configure'.
So normally, lex/yacc won't be invoked during the build (unless the
--enable-maintainer-mode option was selected).
 
> How could/would multiple file versions be supported ? One previous
> example was a mention that port groups can be shared by more than one
> manager (e.g. QoS and partitions) so this might be made hierarchical.
> I'd like to understand this before we get locked in.

The parser can be enhanced to support different versions of grammar.
It will just check the first line of the policy file:
	<?xml version="1.0" encoding="ISO-8859-1"?>
and then it will decide which grammar rules to apply according to the 
'version' value.

--Yevgeny

> There are some other lower level questions which I'll get to later. I'll
> also review the XML file format in detail later. 
> 
> -- Hal
> 
> 




More information about the general mailing list