From: Ben Widawsky <ben@bwidawsk.net>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 0/5] Fixup pwrite/pread with gtt mmapped user addresses
Date: Sat, 17 Sep 2011 16:07:30 -0700 [thread overview]
Message-ID: <20110917160730.065043a7@bwidawsk.net> (raw)
In-Reply-To: <1316285749-30130-1-git-send-email-daniel.vetter@ffwll.ch>
On Sat, 17 Sep 2011 20:55:44 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Hi all,
>
> Original bugreport: https://bugs.freedesktop.org/show_bug.cgi?id=38115
>
> This bug can e.g. be hit with glBufferData(dst, glBufferMap(src))
>
> Testcase is gem_mmap_gtt.
>
> Neglecting the trivial cleanup patch 2, patch 1 converts the possible
> deadlock in an errornous -EFAULT. I've already submitted this, but
> include it here again for completeness. Patches 3-5 then fix this up.
> Imo there's a bit more work left to do (like properly prefaulting,
> which would have papered over this bug). But I think this is the
> minimal set required to fix the bug and I've wanted to get early
> feedback on the approach and on possible race issues.
>
> I think patch 3-5 are not cc:stable material because they're too
> invasive (maybe even stuff for -next). The prefaulting patch will
> be much simpler, less invasive and it essentially reduces the issue to
> a tiny race, so I suggest that for backporting.
>
> So review, comments highly appreciated.
>
> Yours, Daniel
>
> Daniel Vetter (5):
> io-mapping: ensure io_mapping_map_atomic _is_ atomic
> drm/i915: drop KM_USER0 argument to k(un)map_atomic
> drm/i915: fall through pwrite_gtt_slow to the shmem slow path
> drm/i915: rewrite shmem_pwrite_slow to use copy_from_user
> drm/i915: rewrite shmem_pread_slow to use copy_to_user
>
> drivers/gpu/drm/i915/i915_gem.c | 324
> ++++++++++++++-------------------
> drivers/gpu/drm/i915/i915_gem_debug.c | 6 +-
> include/linux/io-mapping.h | 2 + 3 files changed, 140
> insertions(+), 192 deletions(-)
>
Still in process of review, but:
Tested-by: Ben Widawsky <ben@bwidawsk.net>
next prev parent reply other threads:[~2011-09-17 23:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-17 18:55 [PATCH 0/5] Fixup pwrite/pread with gtt mmapped user addresses Daniel Vetter
2011-09-17 18:55 ` [PATCH 1/5] io-mapping: ensure io_mapping_map_atomic _is_ atomic Daniel Vetter
2011-09-17 20:43 ` Chris Wilson
2011-09-17 18:55 ` [PATCH 2/5] drm/i915: drop KM_USER0 argument to k(un)map_atomic Daniel Vetter
2011-09-17 20:44 ` Chris Wilson
2011-09-23 16:25 ` Daniel Vetter
2011-09-17 18:55 ` [PATCH 3/5] drm/i915: fall through pwrite_gtt_slow to the shmem slow path Daniel Vetter
2011-09-17 20:57 ` Chris Wilson
2011-09-20 11:35 ` Daniel Vetter
2011-10-30 8:35 ` Chris Wilson
2011-09-17 18:55 ` [PATCH 4/5] drm/i915: rewrite shmem_pwrite_slow to use copy_from_user Daniel Vetter
2011-09-17 20:52 ` Daniel Vetter
2011-09-17 21:00 ` Chris Wilson
2011-09-18 8:44 ` Daniel Vetter
2011-09-17 18:55 ` [PATCH 5/5] drm/i915: rewrite shmem_pread_slow to use copy_to_user Daniel Vetter
2011-09-17 21:04 ` Chris Wilson
2011-09-17 23:07 ` Ben Widawsky [this message]
2011-10-20 21:14 ` [PATCH 0/5] Fixup pwrite/pread with gtt mmapped user addresses Keith Packard
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=20110917160730.065043a7@bwidawsk.net \
--to=ben@bwidawsk.net \
--cc=daniel.vetter@ffwll.ch \
--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