All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] xfree86: Handle drm race condition
@ 2013-03-18 20:51 Bryce Harrington
  2013-03-18 20:51 ` [PATCH v2 1/7] xfree86: (Cleanup) Close fd if drm interface 1.4 could not be set Bryce Harrington
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Bryce Harrington @ 2013-03-18 20:51 UTC (permalink / raw)
  To: intel-gfx, Chris Wilson; +Cc: Maarten Lankhorst

Update:  Squashes a couple commits to avoid potential hang if
git bisecting.  No other changes from v1.

----
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 (7):
  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 for 2 seconds.
  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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2013-03-31 17:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-18 20:51 [PATCH v2 0/7] xfree86: Handle drm race condition Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 1/7] xfree86: (Cleanup) Close fd if drm interface 1.4 could not be set Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 2/7] xfree86: Track error code and add label for error handling Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 3/7] xfree86: Provide more details on failure Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 4/7] xfree86: Keep trying to set interface on drm for 2 seconds Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 5/7] xfree86: Fix race condition failure opening drm Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 6/7] xfree86: Be verbose if waiting on opening the drm device Bryce Harrington
2013-03-18 20:51 ` [PATCH v2 7/7] xfree86: Also handle EAGAIN errors from drmSetInterfaceVersion() Bryce Harrington
2013-03-19  9:21 ` [PATCH v2 0/7] xfree86: Handle drm race condition Chris Wilson
2013-03-19 10:02   ` Maarten Lankhorst
2013-03-19 10:27     ` Chris Wilson
2013-03-19 10:50       ` Maarten Lankhorst
2013-03-19 11:10         ` Dave Airlie
     [not found]           ` <CAPM=9twNnKV9DUNJ-BfrnXTrj=W+AGyxqauCPMW2kCx39bj_pA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-19 12:18             ` Maarten Lankhorst
2013-03-19 21:13         ` Chris Wilson
2013-03-20  8:40           ` Maarten Lankhorst
2013-03-20 10:43             ` Maarten Lankhorst
2013-03-20 14:09             ` Chris Wilson
2013-03-30 18:02 ` Chris Wilson
2013-03-31 17:14   ` Ben Widawsky

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.