[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.