|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Re: [PATCH 2/4] libxl: implementing legacy xm cpuid	parser
 
Ian Jackson wrote:
 
Andre Przywara writes ("[PATCH 2/4] libxl: implementing legacy xm cpuid 
parser"):
To support legacy xm-based config files, add a parser for the old
style cpuid= syntax. This uses a Python list, so it can be
distinguished from the new syntax easily.
 
 
Thanks.  This is going in the right direction.
I'm not sure I like the word "legacy".  Eventually we'll have several
compatibility things all of which will be called "legacy" and no-one
will know what's what.  I would have called it
"libxl_cpuid_parse_config_xend_compat" or something.
 
 
I fixed this and renamed it to _xend (omitting compat).
 
Also, why are you exposing to xl directly the fact that there are
these two kinds of cpuid parameter ?
  Because the differentiation between xend and new xl way (Python list vs. 
string) is in the parsing routines in xl_cfg_*.
To see the direction I am going to I attached the first draft version of 
my upcoming multicore patch. This uses the interface provided by 
libxl_cpuid_parse_config(). IMHO this is a very readable and 
maintainable approach, and it can be overridden by cpuid lines (or 
forced again later by being called after the cpuid= parsing).
 
Is it possible to hide this in
libxlu somehow ?  That way future callers who need to parse the same
strings (eg, when libvirt calls libxl) can just call the code rather
than having to move it and/or replicate it.
  I am not 100% sure if it is what you want, but I could move the strtok() 
part which splits up the cpuid= string into the parse_config function. 
But this would make the multicore patch uglier to implement, so I 
refrained from it. Beside that it allows for easy substring-specific 
error reporting to be handled completely by the caller (xl_cmdimpl.c in 
this case).
 What would be the interface libvirt wants to use? Would it use 
parse_config_data()? If not, libvirt would have to re-implement parts of 
this function anyway. If yes, it would work automatically.
Regards,
Andre.
 
So I think most of the code you add to xl_cmdimpl.c should be in
libxlu (or perhaps libxl).
Ian.
 
 
--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448-3567-12
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |