Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-08 Thread Daniel Vetter
On Wed, Jul 08, 2015 at 10:45:23AM +0100, Tvrtko Ursulin wrote:
 
 On 07/08/2015 10:32 AM, Daniel Vetter wrote:
 On Mon, Jul 06, 2015 at 04:19:01PM +0100, Chris Wilson wrote:
 On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:
 From: Tvrtko Ursulin tvrtko.ursu...@intel.com
 
 When rotated and partial views were added no one spotted the resume
 path which assumes only one GGTT VMA per object and hence is now
 skipping rebind of alternative views.
 
 Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
 Cc: Daniel Vetter daniel.vet...@ffwll.ch
 Cc: Chris Wilson ch...@chris-wilson.co.uk
 Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
 ---
 Similarly to my recent debugfs patch, it would seem quicker path could
 be to walk GGTT active  inactive lists, but I assume we want to call
 i915_gem_clflush_object only once per object which would make that
 problematic.
 
 Patch is missing offending commit that introduce this issue and which
 platforms are affected (I guess all due to partial view?). Also should be
 cc: stable I presume?
 
 Can you please supply this so I can ammend the commit message? Applied to
 -fixes meanwhile, thanks.
 
 Ha, offending commits. In the sense of that the bug only manifests
 when they are present they are either of these two:
 
 commit c5ad54cf7dd8922bd1cee2d5871aebf73dc9638e
 Author: Joonas Lahtinen joonas.lahti...@linux.intel.com
 Date:   Wed May 6 14:36:09 2015 +0300
 
 drm/i915: Use partial view in mmap fault handler
 
 commit 3b7a5119b5d2def1161226a4c6a643db537dff7e
 Author: Sonika Jindal sonika.jin...@intel.com
 Date:   Fri Apr 10 14:37:29 2015 +0530
 
 drm/i915/skl: Support for 90/270 rotation
 
 But they are just the tips of two longish streams of developments
 so they should not necessarily be viewed as offending towards the respective
 authors. They are just final feature enablements.
 
 All platforms are affected due to partial views I suppose, although I am not
 sure if they are actually used/triggered in the field. That's why I was not
 sure should stable be copied.

Well commits are only in 4.2, so -fixes is ok.

Thanks, 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


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-08 Thread Tvrtko Ursulin


On 07/08/2015 10:32 AM, Daniel Vetter wrote:

On Mon, Jul 06, 2015 at 04:19:01PM +0100, Chris Wilson wrote:

On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:

From: Tvrtko Ursulin tvrtko.ursu...@intel.com

When rotated and partial views were added no one spotted the resume
path which assumes only one GGTT VMA per object and hence is now
skipping rebind of alternative views.

Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
Cc: Daniel Vetter daniel.vet...@ffwll.ch
Cc: Chris Wilson ch...@chris-wilson.co.uk
Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
---
Similarly to my recent debugfs patch, it would seem quicker path could
be to walk GGTT active  inactive lists, but I assume we want to call
i915_gem_clflush_object only once per object which would make that
problematic.


Patch is missing offending commit that introduce this issue and which
platforms are affected (I guess all due to partial view?). Also should be
cc: stable I presume?

Can you please supply this so I can ammend the commit message? Applied to
-fixes meanwhile, thanks.


Ha, offending commits. In the sense of that the bug only manifests
when they are present they are either of these two:

commit c5ad54cf7dd8922bd1cee2d5871aebf73dc9638e
Author: Joonas Lahtinen joonas.lahti...@linux.intel.com
Date:   Wed May 6 14:36:09 2015 +0300

drm/i915: Use partial view in mmap fault handler

commit 3b7a5119b5d2def1161226a4c6a643db537dff7e
Author: Sonika Jindal sonika.jin...@intel.com
Date:   Fri Apr 10 14:37:29 2015 +0530

drm/i915/skl: Support for 90/270 rotation

But they are just the tips of two longish streams of developments
so they should not necessarily be viewed as offending towards the 
respective authors. They are just final feature enablements.


All platforms are affected due to partial views I suppose, although I am 
not sure if they are actually used/triggered in the field. That's why I 
was not sure should stable be copied.


Regards,

Tvrtko
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-08 Thread Daniel Vetter
On Mon, Jul 06, 2015 at 04:19:01PM +0100, Chris Wilson wrote:
 On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:
  From: Tvrtko Ursulin tvrtko.ursu...@intel.com
  
  When rotated and partial views were added no one spotted the resume
  path which assumes only one GGTT VMA per object and hence is now
  skipping rebind of alternative views.
  
  Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
  Cc: Daniel Vetter daniel.vet...@ffwll.ch
  Cc: Chris Wilson ch...@chris-wilson.co.uk
  Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
  ---
  Similarly to my recent debugfs patch, it would seem quicker path could
  be to walk GGTT active  inactive lists, but I assume we want to call
  i915_gem_clflush_object only once per object which would make that
  problematic.

Patch is missing offending commit that introduce this issue and which
platforms are affected (I guess all due to partial view?). Also should be
cc: stable I presume?

Can you please supply this so I can ammend the commit message? Applied to
-fixes meanwhile, thanks.
-Daniel

 
 It's a bit easier because there are no active entries after suspend, and
 we may not care too much for over clflushing.
 
 We should actually clear the GGTT of all but pinned entries on
 hibernate (which would save a bunch of work on early resume), and there
 are a bunch of non-objects inside the GGTT that should be evicted/restored
 properly. (Would have been trivial had we made them all objects in the
 first place.)
 
 The patch is in the right direction and the other issues are present
 irrespective of this patch.
 
 I guess a begrudingly
 Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk
 -Chris
 
 -- 
 Chris Wilson, Intel Open Source Technology Centre

-- 
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


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-07 Thread shuang . he
Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: 
shuang...@intel.com)
Task id: 6731
-Summary-
Platform  Delta  drm-intel-nightly  Series Applied
ILK  302/302  302/302
SNB  312/316  312/316
IVB  345/345  345/345
BYT -2  289/289  287/289
HSW  382/382  382/382
-Detailed-
Platform  Testdrm-intel-nightly  Series 
Applied
*BYT  igt@gem_partial_pwrite_pread@reads  PASS(1)  FAIL(1)
*BYT  igt@gem_partial_pwrite_pread@reads-uncached  PASS(1)  FAIL(1)
Note: You need to pay more attention to line start with '*'
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-06 Thread Tvrtko Ursulin


On 07/06/2015 04:19 PM, Chris Wilson wrote:

On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:

From: Tvrtko Ursulin tvrtko.ursu...@intel.com

When rotated and partial views were added no one spotted the resume
path which assumes only one GGTT VMA per object and hence is now
skipping rebind of alternative views.

Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
Cc: Daniel Vetter daniel.vet...@ffwll.ch
Cc: Chris Wilson ch...@chris-wilson.co.uk
Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
---
Similarly to my recent debugfs patch, it would seem quicker path could
be to walk GGTT active  inactive lists, but I assume we want to call
i915_gem_clflush_object only once per object which would make that
problematic.


It's a bit easier because there are no active entries after suspend, and
we may not care too much for over clflushing.

We should actually clear the GGTT of all but pinned entries on
hibernate (which would save a bunch of work on early resume), and there
are a bunch of non-objects inside the GGTT that should be evicted/restored
properly. (Would have been trivial had we made them all objects in the
first place.)


What are these non-objects and where do I find the code with restores 
them improperly?



The patch is in the right direction and the other issues are present
irrespective of this patch.

I guess a begrudingly
Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk


Thanks!

Regards,

Tvrtko
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-06 Thread Chris Wilson
On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:
 From: Tvrtko Ursulin tvrtko.ursu...@intel.com
 
 When rotated and partial views were added no one spotted the resume
 path which assumes only one GGTT VMA per object and hence is now
 skipping rebind of alternative views.
 
 Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
 Cc: Daniel Vetter daniel.vet...@ffwll.ch
 Cc: Chris Wilson ch...@chris-wilson.co.uk
 Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
 ---
 Similarly to my recent debugfs patch, it would seem quicker path could
 be to walk GGTT active  inactive lists, but I assume we want to call
 i915_gem_clflush_object only once per object which would make that
 problematic.

It's a bit easier because there are no active entries after suspend, and
we may not care too much for over clflushing.

We should actually clear the GGTT of all but pinned entries on
hibernate (which would save a bunch of work on early resume), and there
are a bunch of non-objects inside the GGTT that should be evicted/restored
properly. (Would have been trivial had we made them all objects in the
first place.)

The patch is in the right direction and the other issues are present
irrespective of this patch.

I guess a begrudingly
Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Restore all GGTT VMAs on resume

2015-07-06 Thread Chris Wilson
On Mon, Jul 06, 2015 at 04:29:12PM +0100, Tvrtko Ursulin wrote:
 
 On 07/06/2015 04:19 PM, Chris Wilson wrote:
 On Mon, Jul 06, 2015 at 03:15:01PM +0100, Tvrtko Ursulin wrote:
 From: Tvrtko Ursulin tvrtko.ursu...@intel.com
 
 When rotated and partial views were added no one spotted the resume
 path which assumes only one GGTT VMA per object and hence is now
 skipping rebind of alternative views.
 
 Signed-off-by: Tvrtko Ursulin tvrtko.ursu...@intel.com
 Cc: Daniel Vetter daniel.vet...@ffwll.ch
 Cc: Chris Wilson ch...@chris-wilson.co.uk
 Cc: Joonas Lahtinen joonas.lahti...@linux.intel.com
 ---
 Similarly to my recent debugfs patch, it would seem quicker path could
 be to walk GGTT active  inactive lists, but I assume we want to call
 i915_gem_clflush_object only once per object which would make that
 problematic.
 
 It's a bit easier because there are no active entries after suspend, and
 we may not care too much for over clflushing.
 
 We should actually clear the GGTT of all but pinned entries on
 hibernate (which would save a bunch of work on early resume), and there
 are a bunch of non-objects inside the GGTT that should be evicted/restored
 properly. (Would have been trivial had we made them all objects in the
 first place.)
 
 What are these non-objects and where do I find the code with
 restores them improperly?

The PDEs are allocated directly in the GGTT and ignored completely
across hibernation. All we ideally need to do is evict them on freeze.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx