Re: [Intel-gfx] [PATCH] drm/i915: grab a pages pin count for preallocate stolen

2013-12-18 Thread Daniel Vetter
On Wed, Dec 18, 2013 at 1:00 AM, Ben Widawsky
benjamin.widaw...@intel.com wrote:
 I'm missing why _i915_gem_object_create_stolen() isn't good enough for
 pinning the pages.

Citing my commit message ... vma also holds a pages_pin_count. Which
is on top of the general pages_pin_count we have for all stolen
objects to avoid them getting swapped out.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - 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: grab a pages pin count for preallocate stolen

2013-12-18 Thread Chris Wilson
On Tue, Dec 17, 2013 at 11:42:11PM +0100, Daniel Vetter wrote:
 But only when we indeed set up a gtt mapping. We need this since the
 vma also holds a pages_pin_count, on top of the unconditional
 pages_pin_count we grab for all stolen objects (to avoid swap-out).
 
 This should avoid a pages_pin_count underrun when cleaning up
 framebuffers objects taken over from the BIOS.
 
 Reported-by: Jesse Barnes jbar...@virtuousgeek.org
 Cc: Jesse Barnes jbar...@virtuousgeek.org
 Cc: Ben Widawsky benjamin.widaw...@intel.com
 Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch

The bug is older than the introduction of vma.
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


[Intel-gfx] [PATCH] drm/i915: grab a pages pin count for preallocate stolen

2013-12-17 Thread Daniel Vetter
But only when we indeed set up a gtt mapping. We need this since the
vma also holds a pages_pin_count, on top of the unconditional
pages_pin_count we grab for all stolen objects (to avoid swap-out).

This should avoid a pages_pin_count underrun when cleaning up
framebuffers objects taken over from the BIOS.

Reported-by: Jesse Barnes jbar...@virtuousgeek.org
Cc: Jesse Barnes jbar...@virtuousgeek.org
Cc: Ben Widawsky benjamin.widaw...@intel.com
Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch
---
 drivers/gpu/drm/i915/i915_gem_stolen.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/i915_gem_stolen.c
index d284d892ed94..fed87ec17211 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -420,6 +420,7 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_device *dev,
 
list_add_tail(obj-global_list, dev_priv-mm.bound_list);
list_add_tail(vma-mm_list, ggtt-inactive_list);
+   i915_gem_object_pin_pages(obj);
 
return obj;
 
-- 
1.8.4.3

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


Re: [Intel-gfx] [PATCH] drm/i915: grab a pages pin count for preallocate stolen

2013-12-17 Thread Ben Widawsky
On Tue, Dec 17, 2013 at 11:42:11PM +0100, Daniel Vetter wrote:
 But only when we indeed set up a gtt mapping. We need this since the
 vma also holds a pages_pin_count, on top of the unconditional
 pages_pin_count we grab for all stolen objects (to avoid swap-out).
 
 This should avoid a pages_pin_count underrun when cleaning up
 framebuffers objects taken over from the BIOS.
 
 Reported-by: Jesse Barnes jbar...@virtuousgeek.org
 Cc: Jesse Barnes jbar...@virtuousgeek.org
 Cc: Ben Widawsky benjamin.widaw...@intel.com
 Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch
 ---
  drivers/gpu/drm/i915/i915_gem_stolen.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c 
 b/drivers/gpu/drm/i915/i915_gem_stolen.c
 index d284d892ed94..fed87ec17211 100644
 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
 +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
 @@ -420,6 +420,7 @@ i915_gem_object_create_stolen_for_preallocated(struct 
 drm_device *dev,
  
   list_add_tail(obj-global_list, dev_priv-mm.bound_list);
   list_add_tail(vma-mm_list, ggtt-inactive_list);
 + i915_gem_object_pin_pages(obj);
  
   return obj;
  
 -- 
 1.8.4.3
 

I'm missing why _i915_gem_object_create_stolen() isn't good enough for
pinning the pages.

-- 
Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx