[libvirt PATCH] remove HAL node device driver

Daniel P. Berrangé berrange at redhat.com
Tue Sep 8 16:33:28 UTC 2020


On Tue, Sep 08, 2020 at 06:12:19PM +0200, Pavel Hrdina wrote:
> On Tue, Sep 08, 2020 at 04:44:38PM +0100, Daniel P. Berrangé wrote:
> > On Tue, Sep 08, 2020 at 03:42:58PM +0200, Pavel Hrdina wrote:
> > > On Tue, Sep 08, 2020 at 03:50:07PM +0400, Roman Bogorodskiy wrote:
> > > >   Pavel Hrdina wrote:
> > > > 
> > > > > There was one attempt a year ago done by me to drop HAL [1] but it was
> > > > > never resolved. There was another time when Dan suggested to drop HAL
> > > > > driver [2] but it was decided to keep it around in case device
> > > > > assignment will be implemented for FreeBSD and the fact that
> > > > > virt-manager uses node device driver [3].
> > > > > 
> > > > > I checked git history and code and it doesn't look like bhyve supports
> > > > > device assignment so from that POV it should not block removing HAL.
> > > > 
> > > > The bhyve driver currently does not support device assignment.
> > > > Bhyve it self does not support live device attach too.
> > > > 
> > > > What bhyve does support is passthru of some device types (I have tested
> > > > NIC passthrough and it works, and also it looks like GPU passthrough
> > > > also works in some configurations, and also there are some work going on
> > > > to make it better).
> > > > 
> > > > I'm wondering if the removal of HAL support will block adding support
> > > > for host device passthrough?
> > > 
> > > So I checked qemu driver and we use node device driver only to implement
> > > these APIs:
> > > 
> > > virNodeDeviceDettach
> > > virNodeDeviceDetachFlags
> > > virNodeDeviceReAttach
> > > virNodeDeviceReset
> > > 
> > > which can be used by users or management applications to detach the PCI
> > > devices from host and prepare them to be used by VMs.  This can be done
> > > manually not using libvirt APIs as well.
> > > 
> > > So it looks like HAL will not be required to support host device
> > > assignment.
> > 
> > That may be true from a strictly technical sense, but most existing mgmt
> > applications using libvirt expect the node device APIs to exist and won't
> > enable use of host device assignment without them.
> 
> That make sense, so implementing host device assignment will require
> working node device driver.
> 
> As it was already stated, it is not currently implemented and there are
> no plans to implement it in near future AFAIK.
> 
> HAL driver is deprecated, there is no upstream development and it's
> blocking removal of libdbus from libvirt.
> 
> Can we agree on dropping HAL now? We can figure out devd support once
> someone starts working on host device assignment support for bhyve.

It is fine by me, as it didn't look like the strategically correct
future even for FreeBSD - more just a historical curiosity, with
'devd' being the sane option, or the libudev shim aroun devd.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list