[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] libxl drivers for libvirt?
Wednesday 24 of October 2012 12:11:37, Jim Fehlig: > George Dunlap wrote: > > Hey Jim, > > > > I was wondering if you or someone on your team could give me an idea > > what the status of libxl support is in libvirt, particularly wrt > > various releases? > > > > I'm asking because I'm going to UDS next week to talk about the 13.04 > > release, and it would be good to get Xen 4.2 in; but that in part > > depends on whether there will be libvirt support for 4.2 in whatever > > version of libvirt they ship as well. I know Dario has been facing > > the same kind of questions for Fedora 18. > > > > It appears that libvirt 0.10.2 has limited support for the 4.1 libxl > > driver; but: > > * This doesn't include some core features, like live migration > > Right. Chunyan has some patches to implement migration against 4.1 > libxl, but IIRC she is still investigating a bug. Chunyan, can you give > George an update on your libvirt libxl migration patches? > > > * It won't compile against 4.2's libxl > > Right again. Ondrej has been looking into this. Ondrej, do you have > any status to report? Any questions for the Xen folks wrt 4.1 vs 4.2 libxl? Hi, I have libxl which compiles without errors under Xen 4.2, but I didn't test it much yet. I based my port on patch [1], but there were numerous other issues like replaced libxl_cpumap by libxl_bitmap, added async operations, etc. Right now I'm focusing on how to, if even possible, to support both 4.1 and 4.2 in same source files. Right now my libxl_compat.h is dangerously growing. I would definitely appreciate any detailed overview what and why changed between 4.1 and 4.2 libxl iface. [1] http://lists.xen.org/archives/html/xen-devel/2012-05/msg00565.html > > > Is that right? > > > > So I guess it would be nice to know: > > * What kind of Xen support is available in the most recent release > > (0.10.2, I believe), both xend and libxl > > I've provided a table below that lists all of the libvirt hypervisor > driver functions and their implementation status for qemu/kvm, legacy > xen, and libxl drivers. > > > * What kind of Xen support for libxl is in the libvirt development > > branch, and do you have an idea when full support for 4.2 (at least, > > including migration, suspend/resume, &c) might be available? > > Nothing has changed in git master over what is available in 0.10.2, but > we are now starting to pick up this work. Our priorities are to first > get the libxl driver compiling against 4.2 and all of the existing > functionality that works with 4.1 working with 4.2, followed by closing > the feature gap with the legacy xen driver, and finally closing the > feature gap with the qemu driver where it makes sense. This is > obviously quite a bit of work and any help would be appreciated :). > > BTW, we don't have any motivation to add features to the 4.1 version of > the libvirt libxl driver. Bamvor recently sent a patchset to add > finer-grained locking to the libxl driver, but this code is independent > of underlying libxl version IMO > > https://www.redhat.com/archives/libvir-list/2012-October/msg00503.html > > > > * Whether it would be easy for distros to backport 4.2 libxl support > > to whatever their release is? > > Until we have patches to make the driver work with 4.2 libxl, I can't > speculate on the effort to backport to previous libvirt releases. > > Regards, > Jim > > > That would help us better advise distros whether to: > > * Stick with Xen 4.1 for the next release > > * Go with Xen 4.2 but suggest continuing to use xend if libvirt > > support is wanted > > * Go with Xen 4.2 and backport patches to make libvirt work with libxl > > * Go with Xen 4.2 and expect that libxl support will show up without > > too much effort > > > > Obviously change is the only constant, so you can't predict with > > perfect certainty; but if we have an idea what's most likely, we can > > plan on that and then adjust based on what actually happens. > > > > Thanks! > > -George > > > > libvirt hypervisor driver funcs qemu xend libxl > ----------------------------------------------------------------- > virDrvOpen | x | x | x | > virDrvClose | x | x | x | > virDrvDrvSupportsFeature | x | x | | > virDrvGetType | x | x | x | > virDrvGetVersion | x | x | x | > virDrvGetLibVersion | x | x | x | > virDrvGetHostname | x | x | x | > virDrvGetSysinfo | x | | | > virDrvGetMaxVcpus | x | x | x | > virDrvNodeGetInfo | x | x | x | > virDrvGetCapabilities | x | x | x | > virDrvListDomains | x | x | x | > virDrvNumOfDomains | x | x | x | > virDrvListAllDomains | x | | x | > virDrvDomainCreateXML | x | x | x | > virDrvDomainLookupByID | x | x | x | > virDrvDomainLookupByUUID | x | x | x | > virDrvDomainLookupByName | x | x | x | > virDrvDomainSuspend | x | x | x | > virDrvDomainResume | x | x | x | > virDrvDomainPMSuspendForDuration | x | | | > virDrvDomainPMWakeup | x | | | > virDrvDomainShutdown | x | x | x | > virDrvDomainShutdownFlags | x | x | x | > virDrvDomainReboot | x | x | x | > virDrvDomainReset | x | | | > virDrvDomainDestroy | x | x | x | > virDrvDomainDestroyFlags | x | x | x | > virDrvDomainGetOSType | x | x | x | > virDrvDomainGetHostname | | | | > virDrvDomainGetMaxMemory | x | x | x | > virDrvDomainSetMaxMemory | x | x | x | > virDrvDomainSetMemory | x | x | x | > virDrvDomainSetMemoryFlags | x | | x | > virDrvDomainSetMemoryParameters | x | | | > virDrvDomainGetMemoryParameters | x | | | > virDrvDomainSetNumaParameters | x | | | > virDrvDomainGetNumaParameters | x | | | > virDrvDomainSetBlkioParameters | x | | | > virDrvDomainGetBlkioParameters | x | | | > virDrvDomainGetInfo | x | x | x | > virDrvDomainGetState | x | x | x | > virDrvDomainGetControlInfo | x | | | > virDrvDomainSave | x | x | x | > virDrvDomainSaveFlags | x | x | x | > virDrvDomainRestore | x | x | x | > virDrvDomainRestoreFlags | x | x | x | > virDrvDomainSaveImageGetXMLDesc | x | | | > virDrvDomainSaveImageDefineXML | x | | | > virDrvDomainCoreDump | x | x | x | > virDrvDomainScreenshot | x | | | > virDrvDomainSetVcpus | x | x | x | > virDrvDomainSetVcpusFlags | x | x | x | > virDrvDomainGetVcpusFlags | x | x | x | > virDrvDomainPinVcpu | x | x | x | > virDrvDomainPinVcpuFlags | x | | | > virDrvDomainGetVcpuPinInfo | x | | | > virDrvDomainPinEmulator | x | | | > virDrvDomainGetEmulatorPinInfo | x | | | > virDrvDomainGetVcpus | x | x | x | > virDrvDomainGetMaxVcpus | x | x | | > virDrvDomainGetSecurityLabel | x | | | > virDrvDomainGetSecurityLabelList | x | | | > virDrvNodeGetSecurityModel | x | | | > virDrvDomainGetXMLDesc | x | x | x | > virDrvConnectDomainXMLFromNative | x | x | x | > virDrvConnectDomainXMLToNative | x | x | x | > virDrvListDefinedDomains | x | x | x | > virDrvNumOfDefinedDomains | x | x | x | > virDrvDomainCreate | x | x | x | > virDrvDomainCreateWithFlags | x | x | x | > virDrvDomainDefineXML | x | x | x | > virDrvDomainUndefine | x | x | x | > virDrvDomainUndefineFlags | x | x | x | > virDrvDomainAttachDevice | x | x | x | > virDrvDomainAttachDeviceFlags | x | x | x | > virDrvDomainDetachDevice | x | x | x | > virDrvDomainDetachDeviceFlags | x | x | x | > virDrvDomainUpdateDeviceFlags | x | x | x | > virDrvDomainGetAutostart | x | x | x | > virDrvDomainSetAutostart | x | x | x | > virDrvDomainGetSchedulerType | x | x | x | > virDrvDomainGetSchedulerParameters | x | x | x | > virDrvDomainGetSchedulerParametersFlags| x | x | x | > virDrvDomainSetSchedulerParameters | x | x | x | > virDrvDomainSetSchedulerParametersFlags| x | x | x | > virDrvDomainMigratePrepare | | x | | > virDrvDomainMigratePerform | x | x | | > virDrvDomainMigrateFinish | | x | | > virDrvDomainBlockResize | x | | | > virDrvDomainBlockStats | x | | | > virDrvDomainBlockStatsFlags | x | | | > virDrvDomainInterfaceStats | x | x | | > virDrvDomainSetInterfaceParameters | x | | | > virDrvDomainGetInterfaceParameters | x | | | > virDrvDomainMemoryStats | x | | | > virDrvDomainBlockPeek | x | x | | > virDrvDomainMemoryPeek | x | | | > virDrvDomainGetBlockInfo | x | | | > virDrvNodeGetCPUStats | x | | | > virDrvNodeGetMemoryStats | x | | | > virDrvNodeGetCellsFreeMemory | x | x | | > virDrvNodeGetFreeMemory | x | x | x | > virDrvDomainEventRegister | x | x | x | > virDrvDomainEventDeregister | x | x | x | > virDrvDomainMigratePrepare2 | x | | | > virDrvDomainMigrateFinish2 | x | | | > virDrvNodeDeviceDettach | x | x | | > virDrvNodeDeviceReAttach | x | x | | > virDrvNodeDeviceReset | x | x | | > virDrvDomainMigratePrepareTunnel | x | | | > virDrvConnectIsEncrypted | x | x | | > virDrvConnectIsSecure | x | x | | > virDrvDomainIsActive | x | x | x | > virDrvDomainIsPersistent | x | x | x | > virDrvDomainIsUpdated | x | x | x | > virDrvCompareCPU | x | | | > virDrvBaselineCPU | x | | | > virDrvDomainGetJobInfo | x | | | > virDrvDomainAbortJob | x | | | > virDrvDomainMigrateSetMaxDowntime | x | | | > virDrvDomainMigrateGetMaxSpeed | x | | | > virDrvDomainMigrateSetMaxSpeed | x | | | > virDrvDomainEventRegisterAny | x | | x | > virDrvDomainEventDeregisterAny | x | | x | > virDrvDomainManagedSave | x | | x | > virDrvDomainHasManagedSaveImage | x | | x | > virDrvDomainManagedSaveRemove | x | | x | > virDrvDomainSnapshotCreateXML | x | | | > virDrvDomainSnapshotGetXMLDesc | x | | | > virDrvDomainSnapshotNum | x | | | > virDrvDomainSnapshotListNames | x | | | > virDrvDomainListAllSnapshots | x | | | > virDrvDomainSnapshotNumChildren | x | | | > virDrvDomainSnapshotListChildrenNames | x | | | > virDrvDomainSnapshotListAllChildren | x | | | > virDrvDomainSnapshotLookupByName | x | | | > virDrvDomainHasCurrentSnapshot | x | | | > virDrvDomainSnapshotGetParent | x | | | > virDrvDomainSnapshotCurrent | x | | | > virDrvDomainSnapshotIsCurrent | x | | | > virDrvDomainSnapshotHasMetadata | x | | | > virDrvDomainRevertToSnapshot | x | | | > virDrvDomainSnapshotDelete | x | | | > virDrvDomainQemuMonitorCommand | x | | | > virDrvDomainQemuAttach | x | | | > virDrvDomainQemuAgentCommand | x | | | > virDrvDomainOpenConsole | x | x | | > virDrvDomainOpenGraphics | x | | | > virDrvDomainInjectNMI | x | | | > virDrvDomainMigrateBegin3 | x | | | > virDrvDomainMigratePrepare3 | x | | | > virDrvDomainMigratePrepareTunnel3 | x | | | > virDrvDomainMigratePerform3 | x | | | > virDrvDomainMigrateFinish3 | x | | | > virDrvDomainMigrateConfirm3 | x | | | > virDrvDomainSendKey | x | | | > virDrvDomainBlockJobAbort | x | | | > virDrvDomainGetBlockJobInfo | x | | | > virDrvDomainBlockJobSetSpeed | x | | | > virDrvDomainBlockPull | x | | | > virDrvDomainBlockRebase | x | | | > virDrvDomainBlockCommit | x | | | > virDrvSetKeepAlive | | | | > virDrvConnectIsAlive | x | | | > virDrvNodeSuspendForDuration | x | x | | > virDrvDomainSetBlockIoTune | x | | | > virDrvDomainGetBlockIoTune | x | | | > virDrvDomainGetCPUStats | x | | | > virDrvDomainGetDiskErrors | x | | | > virDrvDomainSetMetadata | x | | | > virDrvDomainGetMetadata | x | | | > virDrvNodeGetMemoryParameters | x | x | | > virDrvNodeSetMemoryParameters | x | x | | > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |