From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Race condition on device add hanling in xl devd
Date: Sun, 16 Dec 2018 02:47:43 +0100 [thread overview]
Message-ID: <20181216014743.GA5040@mail-itl> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1459 bytes --]
Hi,
I've found a race condition with handling new devices in driver domain.
xl devd calls hotplug script when new device is detected in xenstore. At
the same time, asynchronously, kernel create actual backend device (vif
in my case). In rare circumstances (especially under high system load)
it may happen that hotplug script is executed before kernel create the
device, and the hotplug script fails. When hotplug scripts were called
by udev, that race didn't existed as udev was informed about the device
by the kernel.
I'm not sure if the race applies to backend in dom0 - haven't happened
to me, but that doesn't really prove anything.
Can you remind me why in driver domain xl devd is used now, instead of
udev?
A workaround could be implemented in hotplug script itself - wait for
the device there. I'm not sure how proper solution could look like. Some
synchronization between xl devd and the kernel (like xl devd monitoring
uevents)?
The setup:
- Xen 4.8.4, but I believe the same would happen in xen-unstable
- Linux 4.19.2 (dom0), Linux 4.14.74 (domU)
- problem happens when starting a domU with network backend in another
domU
- happen more often when Xen run nested in KVM (-> slow), but happened
to me on bare metal too
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 157 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2018-12-16 1:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-16 1:47 Marek Marczykowski-Górecki [this message]
2018-12-17 9:40 ` Race condition on device add hanling in xl devd Roger Pau Monné
2018-12-17 12:00 ` Marek Marczykowski-Górecki
2018-12-17 12:18 ` Roger Pau Monné
2018-12-17 12:23 ` Marek Marczykowski-Górecki
2018-12-17 13:05 ` Roger Pau Monné
2018-12-17 13:11 ` Paul Durrant
2018-12-17 14:32 ` Roger Pau Monné
2018-12-17 14:42 ` Paul Durrant
2018-12-17 16:09 ` Roger Pau Monné
2019-02-24 23:14 ` Marek Marczykowski-Górecki
2019-02-28 10:08 ` Roger Pau Monné
2019-02-28 12:38 ` Marek Marczykowski-Górecki
2018-12-17 13:23 ` Marek Marczykowski-Górecki
2018-12-17 14:44 ` Roger Pau Monné
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181216014743.GA5040@mail-itl \
--to=marmarek@invisiblethingslab.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.