[libvirt] [PATCH 1/3] nodedev: Move device enumumeration out of nodeStateInitialize

John Ferlan jferlan at redhat.com
Thu Dec 14 13:25:34 UTC 2017

On 12/14/2017 05:42 AM, Erik Skultety wrote:
> On Sat, Dec 09, 2017 at 12:29:12PM -0500, John Ferlan wrote:
>> Let's move the udevEnumerateDevices into a thread to "speed
>> up" the initialization process. If the enumeration fails we
>> can set the Quit flag to ensure that udevEventHandleCallback
>> will not run.
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>>  src/node_device/node_device_udev.c | 27 +++++++++++++++++++++++++--
>>  1 file changed, 25 insertions(+), 2 deletions(-)
> Speedup's okay (even though I don't expect anything significant), but if
> something goes wrong with udev, we start into a sort of crippled state where
> you're still able to start machines, but only if these don't make use of NPIV
> in a sense that a vHBA would need to be created, or managed direct-assigned PCI
> devices. Prior to this change if enumeration failed, the daemon terminated - I
> think this is an improvement.
> Reviewed-by: Erik Skultety <eskultet at redhat.com>

So as a "next step" - do you think it'd be worthwhile to actually
implement the nodeStateReload functionality?  I think we have enough
"capability" now between separate threads for Enumeration and
HandleCallback.  Might be a bit tricky, but also a way to 'restart' a
stopped HandleCallback thread.

I will hold off on pushing for a bit to ensure someone else doesn't have
extreme agita over the enumerate thread though.

Tks -


More information about the libvir-list mailing list