From: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org, akash.goel@intel.com,
shashidhar.hiremath@intel.com
Subject: Re: [PATCH 07/10] drm/i915: Support for pread/pwrite from/to non shmem backed objects
Date: Tue, 12 Jan 2016 13:20:08 +0530 [thread overview]
Message-ID: <1452585008.10582.20.camel@ankitprasad-desktop> (raw)
In-Reply-To: <20160111212923.GA20166@nuc-i3427.alporthouse.com>
On Mon, 2016-01-11 at 21:29 +0000, Chris Wilson wrote:
> On Mon, Jan 11, 2016 at 05:15:54PM +0000, Tvrtko Ursulin wrote:
> > > Is that not what was written? I take it my telepathy isn't working
> > > again.
> >
> > Sorry not a new loop, new case in a old loop. This is the hunk I think
> > is not helping readability:
> >
> > @@ -869,11 +967,29 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_private *i915,
> > /* If we get a fault while copying data, then (presumably) our
> > * source page isn't available. Return the error and we'll
> > * retry in the slow path.
> > + * If the object is non-shmem backed, we retry again with the
> > + * path that handles page fault.
> > */
> > - if (fast_user_write(i915->gtt.mappable, page_base,
> > - page_offset, user_data, page_length)) {
> > - ret = -EFAULT;
> > - goto out_flush;
> > + if (faulted || fast_user_write(i915->gtt.mappable,
> > + page_base, page_offset,
> > + user_data, page_length)) {
> > + if (!obj->base.filp) {
>
> This is just wrong, we neither need the faulted nor the difference in
> behaviour based on storage.
> -Chris
>
Yes, this will not be required, I see. As we are planning to provide a
partial fallback for all objs (shmem backed as well as non-shmem
backed).
So to conclude, a partial fallback (slow_user_access()) for all objs if
fast_user_write() fails.
And a full fallback (shmem_pwrite()) for only shmem backed objects if
slow_user_access() fails as well.
...
hit_by_slowpath = 1;
mutex_unlock(&dev->struct_mutex);
if (slow_user_access(i915->gtt.mappable,
page_base,
page_offset, user_data,
page_length, true)) {
ret = -EFAULT;
mutex_lock(&dev->struct_mutex);
goto out_flush;
}
mutex_lock(&dev->struct_mutex);
...
Thanks,
-Ankit
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-01-12 8:11 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 6:20 [PATCH v13 0/10] Support for creating/using Stolen memory backed objects ankitprasad.r.sharma
2015-12-22 6:20 ` [PATCH 01/10] drm/i915: Allow use of get_dma_address for stolen " ankitprasad.r.sharma
2015-12-22 10:23 ` Tvrtko Ursulin
2015-12-22 10:39 ` Chris Wilson
2016-01-05 16:47 ` Daniel Vetter
2015-12-22 6:20 ` [PATCH 02/10] drm/i915: Use insert_page for pwrite_fast ankitprasad.r.sharma
2015-12-22 6:55 ` kbuild test robot
2015-12-22 10:44 ` Tvrtko Ursulin
2015-12-22 11:15 ` Ankitprasad Sharma
2015-12-22 11:52 ` Chris Wilson
2015-12-22 12:03 ` Tvrtko Ursulin
2015-12-22 13:38 ` Chris Wilson
2015-12-22 6:20 ` [PATCH 03/10] drm/i915: Clearing buffer objects via CPU/GTT ankitprasad.r.sharma
2015-12-22 11:09 ` Tvrtko Ursulin
2015-12-22 6:20 ` [PATCH 04/10] drm/i915: Support for creating Stolen memory backed objects ankitprasad.r.sharma
2016-01-12 12:45 ` Chris Wilson
2015-12-22 6:20 ` [PATCH 05/10] drm/i915: Propagating correct error codes to the userspace ankitprasad.r.sharma
2015-12-22 11:20 ` Tvrtko Ursulin
2015-12-22 11:29 ` Ankitprasad Sharma
2015-12-22 12:02 ` Tvrtko Ursulin
2016-01-06 7:45 ` Daniel Vetter
2015-12-22 6:20 ` [PATCH 06/10] drm/i915: Add support for stealing purgable stolen pages ankitprasad.r.sharma
2015-12-22 11:22 ` Tvrtko Ursulin
2015-12-22 6:20 ` [PATCH 07/10] drm/i915: Support for pread/pwrite from/to non shmem backed objects ankitprasad.r.sharma
2015-12-22 11:58 ` Tvrtko Ursulin
2015-12-22 17:40 ` Chris Wilson
2016-01-11 14:21 ` Tvrtko Ursulin
2016-01-11 14:45 ` Chris Wilson
2016-01-11 15:11 ` Tvrtko Ursulin
2016-01-11 17:03 ` Chris Wilson
2016-01-11 17:15 ` Tvrtko Ursulin
2016-01-11 21:29 ` Chris Wilson
2016-01-12 7:50 ` Ankitprasad Sharma [this message]
2015-12-22 6:20 ` [PATCH 08/10] drm/i915: Migrate stolen objects before hibernation ankitprasad.r.sharma
2015-12-22 12:33 ` Tvrtko Ursulin
2015-12-22 17:02 ` Chris Wilson
2015-12-22 17:14 ` Tvrtko Ursulin
2016-01-06 7:48 ` Daniel Vetter
2015-12-22 17:23 ` Tvrtko Ursulin
2015-12-22 6:20 ` [PATCH 09/10] acpi: Export acpi_bus_type ankitprasad.r.sharma
2015-12-22 16:41 ` Tvrtko Ursulin
2016-01-06 7:51 ` Daniel Vetter
2015-12-22 6:20 ` [PATCH 10/10] drm/i915: Disable use of stolen area by User when Intel RST is present ankitprasad.r.sharma
2015-12-22 12:44 ` Tvrtko Ursulin
2015-12-22 13:14 ` Chris Wilson
2016-01-06 7:52 ` Daniel Vetter
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=1452585008.10582.20.camel@ankitprasad-desktop \
--to=ankitprasad.r.sharma@intel.com \
--cc=akash.goel@intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=shashidhar.hiremath@intel.com \
/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;
as well as URLs for NNTP newsgroup(s).