From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
Bryce Harrington <bryce@canonical.com>,
intel-gfx@lists.freedesktop.org,
"X.Org Devel List" <xorg-devel@lists.freedesktop.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Timo Aaltonen <tjaalton@ubuntu.com>,
Dave Airlie <airlied@redhat.com>
Subject: Re: [PATCH v2 0/7] xfree86: Handle drm race condition
Date: Wed, 20 Mar 2013 11:43:11 +0100 [thread overview]
Message-ID: <514992BF.906@canonical.com> (raw)
In-Reply-To: <514975E4.1040909@canonical.com>
Op 20-03-13 09:40, Maarten Lankhorst schreef:
> Hey,
>
> Op 19-03-13 22:13, Chris Wilson schreef:
>> On Tue, Mar 19, 2013 at 11:50:47AM +0100, Maarten Lankhorst wrote:
>>> The drmSetMaster call is needed, but the spinning is really just waiting for the workqueue to run.
>>>
>>> bryce's patch never worked, it just caused it to try drmsetinterfaceversion for a few seconds before timing out. That call
>>> was failing because his patch series never tried to obtain drm master.
>> You missed that the series Bryce posted did contain the drmSetMaster()
>> call inside the loop to retry drmSetVersion(). :)
>>
>>
> Oh I must have missed that.
>
> Is the drmSetInterfaceVersion call really needed here? If I look at DRM_IOCTL_GET_UNIQUE,
> I don't see any requirement of drm master or anything, so it looks to me like for this specific race
> the drmSetInterfaceVersion call can be skipped entirely without any side effects.
> This would end up with cleaner code here, and drop the master requirement entirely.
>
> Of course there's still a race that needs to be investigated, and is currently not completely understood, I think.
>
Or worse, is that drmGetBusId call there even useful? From digging at the kernel it seems it's a per master value.
So if a device is hotplugged, it wouldn't be set yet. If someone else holds master, it wouldn't be set either.
In fact it would only be ever set from DRIOpenDRMMaster, but that call only happens a lot later, if it even happens at all.
It seems to me like opening the fd there should be removed entirely, and the bus id should be retrieved from the udev event instead.
I'll try to get something working for this.
~Maarten
next prev parent reply other threads:[~2013-03-20 10:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2013-03-20 14:09 ` Chris Wilson
2013-03-30 18:02 ` Chris Wilson
2013-03-31 17:14 ` Ben Widawsky
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=514992BF.906@canonical.com \
--to=maarten.lankhorst@canonical.com \
--cc=airlied@redhat.com \
--cc=bryce@canonical.com \
--cc=chris@chris-wilson.co.uk \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=tjaalton@ubuntu.com \
--cc=xorg-devel@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 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.