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(a)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(a)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 -
John