All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Dave Gordon <david.s.gordon@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/i915: mark GEM objects as dirty when filled by the CPU
Date: Thu, 10 Dec 2015 11:49:46 +0100	[thread overview]
Message-ID: <20151210104946.GV20822@phenom.ffwll.local> (raw)
In-Reply-To: <56671C32.20008@intel.com>

On Tue, Dec 08, 2015 at 06:06:42PM +0000, Dave Gordon wrote:
> On 08/12/15 17:00, Chris Wilson wrote:
> >On Tue, Dec 08, 2015 at 04:51:16PM +0000, Dave Gordon wrote:
> >>In various places, a GEM object is filled with data by means of CPU
> >>writes. In such cases, the object should be marked dirty, to ensure that
> >>the data is not discarded if the object is evicted under memory
> >>pressure.
> >>
> >>This incorporates and supercedes Alex Dai's earlier patch
> >>[PATCH v1] drm/i915/guc: Fix a fw content lost issue after it is evicted
> >>
> >>Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
> >>Cc: Chris Wilson <chris@chris-wilson.co.uk>
> >>Cc: Alex Dai <yu.dai@intel.com>
> >>---
> >>  drivers/gpu/drm/i915/i915_cmd_parser.c | 1 +
> >>  drivers/gpu/drm/i915/i915_gem.c        | 1 +
> >>  2 files changed, 2 insertions(+)
> >>
> >>diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
> >>index 814d894..292bd5d 100644
> >>--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
> >>+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
> >>@@ -945,6 +945,7 @@ static u32 *copy_batch(struct drm_i915_gem_object *dest_obj,
> >>  		drm_clflush_virt_range(src, batch_len);
> >>
> >>  	memcpy(dst, src, batch_len);
> >>+	dest_obj->dirty = 1;
> >
> >There is no bug here.
> >-Chris
> 
> Because the shadow batch has been page-pinned by the caller? Two questions,
> then:
> 
> 1. Do we reuse the same shadow batch if the same source batch is
>    resubmitted? If so, can we be sure that it has stayed pinned
>    (one way or another) for the entire intervening period?
> 
> 2. If the shadow batch can never be unpinned, why do we allocate
>    it as a GEM object with backing store which can apparently
>    never be used. We could get rid of the shmfs setup overhead by
>    choosing an object type without backing store.

We don't care about coherency once the shadow batch is retired (we mark it
as purgeable even, which flat-out ignores ->dirty). We use shmem because
we need some memory for it, there's no copying to the backing storage
(like ttm does when evicting from vram to shmem).
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-12-10 10:50 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 16:51 [PATCH 0/3] drm/i915: mark GEM objects as dirtied by CPU Dave Gordon
2015-12-08 16:51 ` [PATCH 1/3] drm/i915: mark GEM objects as dirty when filled by the CPU Dave Gordon
2015-12-08 17:00   ` Chris Wilson
2015-12-08 18:06     ` Dave Gordon
2015-12-10 10:49       ` Daniel Vetter [this message]
2015-12-08 16:51 ` [PATCH 2/3] drm/i915: mark GEM objects as dirty when updated " Dave Gordon
2015-12-08 17:00   ` Chris Wilson
2015-12-08 18:43     ` Dave Gordon
2015-12-08 16:51 ` [PATCH 3/3] drm/i915: mark GEM objects as dirty when written " Dave Gordon
2015-12-08 17:03   ` Chris Wilson
2015-12-08 18:24     ` Dave Gordon
2015-12-10 13:10       ` Daniel Vetter
2015-12-09 15:52 ` [PATCH 0/2 v2] drm/i915: mark GEM objects as dirtied by CPU Dave Gordon
2015-12-09 15:52   ` [PATCH 1/2 v2] drm/i915: mark GEM object pages dirty when mapped & written by the CPU Dave Gordon
2015-12-10 13:29     ` Chris Wilson
2015-12-10 17:24       ` Dave Gordon
2015-12-10 21:04         ` Chris Wilson
2015-12-11 17:08           ` Daniel Vetter
2015-12-11 17:27             ` Chris Wilson
2015-12-09 15:52   ` [PATCH 2/2 v2] drm/i915: mark GEM objects dirty after overwriting their contents Dave Gordon
2015-12-10 13:22     ` Chris Wilson
2015-12-10 14:06     ` Daniel Vetter
2015-12-10 14:52       ` Chris Wilson
2015-12-11 17:09         ` Daniel Vetter
2015-12-10 16:19       ` Dave Gordon
2015-12-10 18:51   ` [PATCH 0/4 v3] drm/i915: mark GEM objects as dirtied by CPU Dave Gordon
2015-12-10 18:51     ` [PATCH 1/4 v3] drm/i915: mark GEM object pages dirty when mapped & written by the CPU Dave Gordon
2015-12-10 21:07       ` Chris Wilson
2015-12-10 18:51     ` [PATCH 2/4 v3] drm/i915: mark a newly-created GEM object dirty when filled with data Dave Gordon
2015-12-10 21:06       ` Chris Wilson
2015-12-11 17:21         ` Daniel Vetter
2015-12-10 18:51     ` [PATCH 3/4 v3] drm/i915: always mark the target of pwrite() as dirty Dave Gordon
2015-12-10 21:09       ` Chris Wilson
2015-12-10 18:51     ` [PATCH 4/4 v3] drm/i915: miscellaneous tiny tweaks to GEM object->dirty Dave Gordon
2015-12-10 21:16       ` Chris Wilson

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=20151210104946.GV20822@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=david.s.gordon@intel.com \
    --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 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.