All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Peres <martin.peres@labri.fr>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Dave Airlie <airlied@redhat.com>
Subject: Re: [PATCH v2 00/20] Unified VMA Offset Manager v2 (+Render Node RFC)
Date: Thu, 11 Jul 2013 13:55:34 +0200	[thread overview]
Message-ID: <51DE9D36.8090509@labri.fr> (raw)
In-Reply-To: <CANq1E4SA_1rUQNe8esWHoxQM2NsFBFu+xBHCH_oB=9gjFTdUng@mail.gmail.com>

On 11/07/2013 13:21, David Herrmann wrote:
> Hi
>
> On Thu, Jul 11, 2013 at 1:12 PM, Martin Peres <martin.peres@labri.fr> wrote:
>> On 07/07/2013 19:17, David Herrmann wrote:
>>> Hi
>>>
>>> This is v2 of the unified VMA offset manager series. The first draft is
>>> available at LWN [1]. This series replaces the VMA offset managers in GEM
>>> and
>>> TTM with a unified implementation.
>>>
>>> The first 4 patches contain the new VMA offset manager and are the only
>>> patches
>>> that I propose for mainline inclusion.
>>> Patches 5-8 clean up drm_mm and are informational-only. Daniel has similar
>>> patches in i915-next and I will rebase them once it is merged. Ignore
>>> them if you're not interested.
>>> Patches 9-19 implement mmap access control. Comments are welcome! They are
>>> intended for mainline inclusion, too, but probably require some more
>>> review
>>> rounds. I'd really appreciate if driver authors could comment on the
>>> implementation.
>>> Patch 20 shows the main motivation behind this whole series: render nodes.
>>> It is
>>> marked RFC and I will resend once the VMA manager is merged upstream. Feel
>>> free
>>> to test it.
>>>
>>> One more note regarding DRM-Master: Render-clients are independent of
>>> DRM-Master
>>> (see the DocBook documentation). It really doesn't make sense to
>>> create/bind a
>>> DRM-Master object to render-clients. However, a lot of core DRM code
>>> depends on
>>>    ->master != NULL. Drivers need to take care not to call into those core
>>> modules
>>> if they implement DRIVER_RENDER.
>>> I plan on removing multiple-master-support in the next series. So there
>>> will be
>>> only one global master and each open-file is bound to it. This will make
>>> it very
>>> easy to phase out "drm_master". The planned "modeset" nodes provide a nice
>>> replacement. If anyone knows a **currently used** use-case for
>>> multiple-masters,
>>> please tell me. I couldn't find one that _actually works_.
>>> (SetMaster+DropMaster
>>> will obviously stay functional even with drm_master removed).
>>>
>>>
>>> (series available at: https://github.com/dvdhrm/linux/tree/rnodes)
>>>
>>> Comments welcome!
>>> Cheers
>>> David
>> Hi David,
>>
>> Thanks for this patchset. I am away from my computers for testing but I was
>> wondering if you based your vma rework on Dave's implementation. If so,
>> you may have the same bug that I had with it.
>>
>> I cannot remember the details of the bug, but I could trigger it by
>> rebooting
>> kde around 13 times on radeon. I didn't have this problem with Nouveau.
> It is based on Dave's code, but I rewrote all of it and fixed several
> bugs. For instance, there was a TTM ref-count leak for BOs in TTM core
> and a TTM locking issue. I didn't encounter any bugs so far, but I
> didn't try to restart the xserver 13 times. I will do some more
> stress-tests, but it is quite likely you hit one of those two bugs
> with radeon.

Yeah, the problem I had was related to ref-count and I was trying
to fix the locking too.
>> I am not competent to judge this work but I will try to test it and check
>> with my security tests that I wrote that the problem is indeed solved
>> on nouveau and radeon.
> The changes are actually quite simple. I intentionally kept TTM
> locking as it was before, even though I think we could reduce it now.
> Anyway, I will resend v3 (which now includes tegra and staging) this
> weekend. Hopefully we can get it into linux-next soon.

Very nice! Looking forward to it.

      reply	other threads:[~2013-07-11 11:55 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-07 17:17 [PATCH v2 00/20] Unified VMA Offset Manager v2 (+Render Node RFC) David Herrmann
2013-07-07 17:17 ` [PATCH v2 01/20] drm: add unified vma offset manager David Herrmann
2013-07-07 17:17 ` [PATCH v2 02/20] drm/gem: convert to new unified vma manager David Herrmann
2013-07-11 10:33   ` David Herrmann
2013-07-07 17:17 ` [PATCH v2 03/20] drm/ttm: convert to unified vma offset manager David Herrmann
2013-07-07 17:17 ` [PATCH v2 04/20] drm/vma: provide drm_vma_node_unmap() helper David Herrmann
2013-07-07 17:17 ` [RFC v2 05/20] drm/mm: add "best_match" to drm_mm_insert_node() David Herrmann
2013-07-07 17:17 ` [RFC v2 06/20] drm/ttm: replace drm_mm_pre_get() by direct alloc David Herrmann
2013-07-07 17:17 ` [RFC v2 07/20] drm/i915: pre-alloc instead of drm_mm search/get_block David Herrmann
2013-07-07 17:17 ` [RFC v2 08/20] drm/mm: remove unused API David Herrmann
2013-07-07 17:17 ` [PATCH v2 09/20] drm/vma: add access management helpers David Herrmann
2013-07-07 17:17 ` [PATCH v2 10/20] drm/ast: implement mmap access managament David Herrmann
2013-07-07 17:17 ` [PATCH v2 11/20] drm/cirrus: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 12/20] drm/mgag200: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 13/20] drm/nouveau: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 14/20] drm/radeon: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 15/20] drm/qxl: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 16/20] drm/vmwgfx: " David Herrmann
2013-07-07 17:17 ` [PATCH v2 17/20] drm/ttm: prevent mmap access to unauthorized users David Herrmann
2013-07-07 17:17 ` [PATCH v2 18/20] drm/gem: implement mmap access management David Herrmann
2013-07-07 17:17 ` [PATCH v2 19/20] drm: fix minor number range calculation David Herrmann
2013-07-07 17:17 ` [PATCH v2 20/20] drm: implement render nodes David Herrmann
2013-07-11 11:12 ` [PATCH v2 00/20] Unified VMA Offset Manager v2 (+Render Node RFC) Martin Peres
2013-07-11 11:21   ` David Herrmann
2013-07-11 11:55     ` Martin Peres [this message]

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=51DE9D36.8090509@labri.fr \
    --to=martin.peres@labri.fr \
    --cc=airlied@redhat.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dh.herrmann@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.