From: Bryce Harrington <bryce@canonical.com>
To: intel-gfx@lists.freedesktop.org, chris@chris-wilson.co.uk
Cc: Bryce Harrington <bryce@canonical.com>
Subject: [PATCH 0/8] Handle drm race condition
Date: Fri, 15 Mar 2013 11:02:50 -0700 [thread overview]
Message-ID: <1363370578-30443-1-git-send-email-bryce@canonical.com> (raw)
When starting up (on Ubuntu), X can hit an error trying to set the
version on the drm device. We believe this is a race with plymouth (or
the kernel), since adding some delay to the boot results in a
functioning session for affected users.
So far we have not found a reliable way to reproduce the bug
synthetically. It appears to affect users on fast booting hardware
(e.g. SSDs) when using the Intel graphics driver.
We have not root-caused the bug yet. Currently we suspect the actual
breakage is underneath X (plymouth/lightdm/kernel), and are still
experimenting. However, this patch does seem to improve things for
users, so it or parts of it may be worth your consideration for
inclusion in xserver.
I'm including the patch broken down into easily pickable chunks. Note
the final patch in the series is highly optional; it handles EAGAIN
being passed from the ioctl - which looks impossible to happen in
practice.
https://bugs.launchpad.net/ubuntu/+source/libdrm/+bug/982889
Bryce Harrington (8):
xfree86: (Cleanup) Close fd if drm interface 1.4 could not be set.
xfree86: Track error code and add label for error handling.
xfree86: Provide more details on failure
xfree86: Keep trying to set interface on drm until it succeeds
xfree86: After 2 sec, abort setting drm interface version.
xfree86: Fix race condition failure opening drm.
xfree86: Be verbose if waiting on opening the drm device
xfree86: Also handle EAGAIN errors from drmSetInterfaceVersion().
hw/xfree86/os-support/linux/lnx_platform.c | 43 ++++++++++++++++++++++------
1 file changed, 35 insertions(+), 8 deletions(-)
--
1.7.9.5
next reply other threads:[~2013-03-15 18:03 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-15 18:02 Bryce Harrington [this message]
2013-03-15 18:02 ` [PATCH 1/8] xfree86: (Cleanup) Close fd if drm interface 1.4 could not be set Bryce Harrington
2013-03-15 18:02 ` [PATCH 2/8] xfree86: Track error code and add label for error handling Bryce Harrington
2013-03-15 18:02 ` [PATCH 3/8] xfree86: Provide more details on failure Bryce Harrington
2013-03-15 18:02 ` [PATCH 4/8] xfree86: Keep trying to set interface on drm until it succeeds Bryce Harrington
2013-03-15 18:02 ` [PATCH 5/8] xfree86: After 2 sec, abort setting drm interface version Bryce Harrington
2013-03-18 11:00 ` Chris Wilson
2013-03-18 20:52 ` Bryce Harrington
2013-03-15 18:02 ` [PATCH 6/8] xfree86: Fix race condition failure opening drm Bryce Harrington
2013-03-15 18:02 ` [PATCH 7/8] xfree86: Be verbose if waiting on opening the drm device Bryce Harrington
2013-03-15 18:02 ` [PATCH 8/8] xfree86: Also handle EAGAIN errors from drmSetInterfaceVersion() Bryce Harrington
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=1363370578-30443-1-git-send-email-bryce@canonical.com \
--to=bryce@canonical.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.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