From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: george.dunlap@eu.citrix.com, xen-devel@lists.xenproject.org,
wei.liu2@citrix.com, Ian Campbell <ian.campbell@citrix.com>
Subject: Re: Second regression due to libxl: Remove linux udev rules (2ba368d13893402b2f1fb3c283ddcc714659dd9b)
Date: Wed, 29 Jul 2015 11:45:27 -0400 [thread overview]
Message-ID: <20150729154527.GB18485@l.oracle.com> (raw)
In-Reply-To: <55B8B075.2010906@citrix.com>
On Wed, Jul 29, 2015 at 12:52:37PM +0200, Roger Pau Monné wrote:
> El 29/07/15 a les 11.03, Ian Campbell ha escrit:
> > On Tue, 2015-07-28 at 15:47 -0400, Konrad Rzeszutek Wilk wrote:
> >> Hey,
> >>
> >> I launch a bunch of guests at the same time or in parallel and
> >> the scripts end up timing out with:
> >
> > Are you sure you have cleaned out all the old udev .rules files? If any of
> > those are still present then you will get both sets competing to drive
> > things and they will conflict and cause this sort of breakage.
This is what I have in udev without the revert.
-bash-4.1# find /etc/udev/
/udev/
/etc/udev/udev.conf
/etc/udev/makedev.d
/etc/udev/rules.d
/etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/dhclient.rules
> >
> > Perhaps we should put back the hacks which nobble the udev case for another
> > release? i.e. the thing which writes the path (but unconditional in
> > xencommons) and the bit in the hotplug scripts which gates on it, but still
> > remove the .rules files. That's only delaying the inevitable though, since
> > upgrades to 4.7 will have the same issue.
> >
> > Perhaps in the scripts themselves:
> >
> > if [ -n "${UDEV_CALL}" ] ; then
> > error "called through udev, please remove stale udev rules files"
> > fi
> >
> > relying on the (stale) 4.5 rules file having the UDEV_CALL=1 in them.
I don't exactly understand how the hotplug scripts are invoked via 'xl'.
With udev it was pretty clear and easy to me.
And the invocation of the scripts were driven by the backend - that is
xen-blkback advertising whenever it was ready - and then udev rules
triggering the scripts.
In my case I seem to have xen-blkback taking its time and coming up with
the disk much much later - and the block scripts have already run
and timed out.
We could add some code in the xl (where it executes the hotplug scripts)
to monitor for kernel udev events from the backend - and only then
execute the hotplug scripts. But that is a bit of custom code to deal
with xen-blkback, xen-netback, xen-pciback, etc.
And that would still neccessity an udev rules to funnel them to the 'xl devd'
daemon which would understand udev format and such (via a socket).
Note that I see this problem regardless of me having 'xl devd' running or not.
>
> Another option would be to install an empty xen-backend.rules for the
> 4.6 release, and then remove it for 4.7.
Or trim down the udev rules ?
>
> I've also been able to trigger this by using a similar loop. AFAICT the
> hotplug scripts are running correctly, the problem seems to be that the
> check_sharing function that's executed to check *every* loop device that
> points to the same file is scanning xenstore in order to find if the
> loop device is also used by another guest. When 20 guests are launched
> in parallel, the CPU consumption in Dom0 is quite high because of all
> the Qemu processes, and the xenstore daemon is basically starving to get
> some CPU time.
>
> IMHO, we should remove this checks and allow the users to shoot on their
> feet if they want to, and in fact that's what I did on FreeBSD.
>
> What I still don't understand is why this only triggers with 2ba368
> applied. My best guess is that you still have a stale xen-backend.rules
> file so you are actually calling the hotplug scripts twice, creating x2
> loop devices for each guest, which of course also slows down things even
> more.
Sadly no. No stable xen-backend.rules - this was a fresh install.
>
> Roger.
next prev parent reply other threads:[~2015-07-29 15:46 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 19:47 Second regression due to libxl: Remove linux udev rules (2ba368d13893402b2f1fb3c283ddcc714659dd9b) Konrad Rzeszutek Wilk
2015-07-29 9:03 ` Ian Campbell
2015-07-29 10:52 ` Roger Pau Monné
2015-07-29 15:45 ` Konrad Rzeszutek Wilk [this message]
2015-07-30 8:17 ` Ian Campbell
2015-07-30 8:43 ` Roger Pau Monné
2015-07-30 8:56 ` Ian Campbell
2015-07-30 8:53 ` Roger Pau Monné
2015-08-04 8:14 ` Roger Pau Monné
2015-08-04 8:32 ` Ian Campbell
2015-08-04 9:44 ` Roger Pau Monné
2015-08-07 14:54 ` Konrad Rzeszutek Wilk
2015-08-07 14:58 ` Roger Pau Monné
2015-08-12 14:09 ` Konrad Rzeszutek Wilk
2015-08-18 7:49 ` Roger Pau Monné
2015-09-22 14:15 ` Konrad Rzeszutek Wilk
2015-08-11 8:52 ` Ian Campbell
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=20150729154527.GB18485@l.oracle.com \
--to=konrad.wilk@oracle.com \
--cc=george.dunlap@eu.citrix.com \
--cc=ian.campbell@citrix.com \
--cc=roger.pau@citrix.com \
--cc=wei.liu2@citrix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).