[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-cim] Emailing: libxen.diff
Ewan Mellor wrote: [snip] Having xen_init and xen_fini gives you the most flexibility -- if you know that you're in a threaded environment, or are loading as a dynamic module, then you can wrap them up appropriately, and if you're running in a statically compiled program, then you can just call them at the top and bottom of main(). For your particular problem, I think you just need to push the mutex up into the CIM provider rather than libxen, and everything should be fine. We can handle this in the providers -- with some changes to the existing structure. Currently we have this: -------------------------- | cimom | -------------------------- ----------- ----------- | prov1 | | provN | | xenutils | | xenutils | ----------- ----------- -------------------------- | libxenapi | --------------------------all in one (cimom) process. Recall that the cimom dynamically loads the target provider when receiving a request and dynamically unloads the provider after a cimom-configured interval of inactivity. Currently xenutils is a libtool convenience library, meaning all objects in the lib are linked into each provider. We can change xenutils to a shared lib and wrap xen_[init|fini] there. xenutils contains enough code that this should be done anyway, decreasing the providers' memory footprint. I can take care of this when cleaning up our session handling. As Gareth mentioned in a subsequent email in this thread, we'll start making use of the provider Initialize and Cleanup routines. Now that we're crawling, it's time to start walking with some stability :-). Jim _______________________________________________ Xen-cim mailing list Xen-cim@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-cim
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |