All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <deathsimple@vodafone.de>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: Include request for reset-rework branch v4
Date: Thu, 03 May 2012 19:28:40 +0200	[thread overview]
Message-ID: <4FA2C048.50808@vodafone.de> (raw)
In-Reply-To: <CADnq5_MZd+EyANwc=kPF56pOY4W-eO39iWqp4h=BYr_eLzHBHw@mail.gmail.com>

On 03.05.2012 19:20, Alex Deucher wrote:
> 2012/5/3 Jerome Glisse<j.glisse@gmail.com>:
>> On Thu, May 3, 2012 at 12:39 PM, Christian König
>> <deathsimple@vodafone.de>  wrote:
>>> On 03.05.2012 18:32, Jerome Glisse wrote:
>>>> On Thu, May 3, 2012 at 4:19 AM, Christian König<deathsimple@vodafone.de>
>>>>   wrote:
>>>>> On 02.05.2012 18:01, Jerome Glisse wrote:
>>>>>> On Wed, May 2, 2012 at 9:11 AM, Christian König<deathsimple@vodafone.de>
>>>>>>   wrote:
>>>>>>> Hi Dave,
>>>>>>>
>>>>>>> there still seems to be the need for some further discussion about the
>>>>>>> SA
>>>>>>> code,
>>>>>>> so I again split that out of the patchset and tested the result a bit.
>>>>>>>
>>>>>>> Most of the stuff still works fine without those offending changes, so
>>>>>>> to
>>>>>>> avoid
>>>>>>> mailing around unrelated and already reviewed patches, I request the
>>>>>>> include
>>>>>>> the following 17 patches into drm-next.
>>>>>>>
>>>>>>> If you prefer to merge they are also available from
>>>>>>> git://people.freedesktop.org/~deathsimple/linux branch reset-rework.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Christian.
>>>>>>>
>>>>>> I am ok with this 17 patchset, i just sent 3 patch on top of those 17
>>>>>> that
>>>>>> bring back some other of the previous cleanup.
>>>>> At least for now those three are NAK, cause I just realized we need to
>>>>> put
>>>>> those on top of a more sophisticated fence implementation.
>>>>>
>>>>> Your idea of not using a list, but 64 bit sequences instead actually
>>>>> sounds
>>>>> quite nifty to me. Going to hack something together in the next couple of
>>>>> hours.
>>>>>
>>>>> Christian.
>>>> Btw you said that you are having issue when using multiple ring, it
>>>> comes to my attention that you never sync with the GFX ring (unless
>>>> asked by userspace) that's wrong, before scheduling on another ring
>>>> than GFX index you need to emit semaphore to make the ring wait for
>>>> the last emited fence on the GFX ring because of ttm. What might
>>>> happen is that ttm scheduled bo move on the GFX ring and that the ring
>>>> you work on start using those bo at there soon to be GPU offset while
>>>> the bo data is not there yet.
>>> Yeah, already stumbled over that but IIRC Alex already solved that issue..
>>>
>>> We set the sync_obj to the fence of the move operation, so when there is a
>>> move operation in progress we sync to it correctly (at least I hope so).
>>>
>>> Christian.
>>>
>> Looking at code doesn't seems ok, yes you use the fence from the move
>> operation but you only emit wait if userspace ask for it, that's
>> wrong.
>>
>> if (!(p->relocs[i].flags&  RADEON_RELOC_DONT_SYNC)) {
>>
> The default is to sync all the rings.  We only skip the sync if the
> _DONT_ sync flag is set.
Yeah, but the _DONT_ sync flag is just an optimization, and we only want 
to not sync to things userspace has submitted.

  E.g. userspace tells us that two jobs can happily run on the same bo 
even if they are both writing to it....

So Jerome is completely right, userspace doesn't expect that TTM is 
jumping in between and moving the bo around, that is indeed a bug and 
another thing for the todo list.

Christian.

  parent reply	other threads:[~2012-05-03 17:28 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-02 13:11 Include request for reset-rework branch v4 Christian König
2012-05-02 13:11 ` [PATCH 01/17] drm/radeon: make radeon_gpu_is_lockup a per ring function Christian König
2012-05-02 13:11 ` [PATCH 02/17] drm/radeon: replace gpu_lockup with ring->ready flag Christian König
2012-05-02 13:11 ` [PATCH 03/17] drm/radeon: register ring debugfs handlers on init Christian König
2012-05-02 13:11 ` [PATCH 04/17] drm/radeon: use central function for IB testing Christian König
2012-05-02 13:11 ` [PATCH 05/17] drm/radeon: rework gpu lockup detection and processing Christian König
2012-05-02 13:11 ` [PATCH 06/17] drm/radeon: fix a bug in the SA code Christian König
2012-05-02 13:11 ` [PATCH 07/17] drm/radeon: return -ENOENT in fence_wait_next v2 Christian König
2012-05-02 13:11 ` [PATCH 08/17] drm/radeon: rename fence_wait_last to fence_wait_empty Christian König
2012-05-02 13:11 ` [PATCH 09/17] drm/radeon: don't keep list of created fences Christian König
2012-05-02 13:11 ` [PATCH 10/17] drm/radeon: fix a bug with the ring syncing code Christian König
2012-05-02 13:11 ` [PATCH 11/17] drm/radeon: rework recursive gpu reset handling Christian König
2012-05-02 13:11 ` [PATCH 12/17] drm/radeon: move lockup detection code into radeon_ring.c Christian König
2012-05-02 13:11 ` [PATCH 13/17] drm/radeon: make lockup timeout a module param Christian König
2012-05-02 13:11 ` [PATCH 14/17] drm/radeon: unlock the ring mutex while waiting for the next fence Christian König
2012-05-02 13:11 ` [PATCH 15/17] drm/radeon: make forcing ring activity a common function Christian König
2012-05-02 13:11 ` [PATCH 16/17] drm/radeon: remove r300_gpu_is_lockup Christian König
2012-05-02 13:11 ` [PATCH 17/17] drm/radeon: remove cayman_gpu_is_lockup Christian König
2012-05-02 16:01 ` Include request for reset-rework branch v4 Jerome Glisse
2012-05-03  8:19   ` Christian König
2012-05-03 16:32     ` Jerome Glisse
2012-05-03 16:39       ` Christian König
2012-05-03 16:57         ` Jerome Glisse
2012-05-03 17:20           ` Alex Deucher
2012-05-03 17:24             ` Jerome Glisse
2012-05-03 17:28             ` Christian König [this message]
2012-05-03 17:34               ` Jerome Glisse
2012-05-03 17:49                 ` Christian König
2012-05-03 17:35               ` Alex Deucher
2012-05-03  8:20 ` Dave Airlie

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=4FA2C048.50808@vodafone.de \
    --to=deathsimple@vodafone.de \
    --cc=alexdeucher@gmail.com \
    --cc=dri-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.