All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Fix context object leak for legacy contexts
@ 2014-11-25 10:39 Thomas Daniel
  2014-11-25 10:49 ` John Harrison
  2014-11-25 17:05 ` [PATCH] drm/i915: Fix context object leak for legacy shuang.he
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Daniel @ 2014-11-25 10:39 UTC (permalink / raw)
  To: intel-gfx

Dynamic context pinning for LRCs introduced a leak in legacy mode.
Reinstate context unreference in i915_gem_free_request for legacy contexts.

Leak reported by i-g-t/drv_module_reload fixed by this patch.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86507
Signed-off-by: Thomas Daniel <thomas.daniel@intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 614bc2b..c630d49 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2574,11 +2574,13 @@ static void i915_gem_free_request(struct drm_i915_gem_request *request)
 	list_del(&request->list);
 	i915_gem_request_remove_from_client(request);
 
-	if (i915.enable_execlists && ctx) {
-		struct intel_engine_cs *ring = request->ring;
+	if (ctx) {
+		if (i915.enable_execlists) {
+			struct intel_engine_cs *ring = request->ring;
 
-		if (ctx != ring->default_context)
-			intel_lr_context_unpin(ring, ctx);
+			if (ctx != ring->default_context)
+				intel_lr_context_unpin(ring, ctx);
+		}
 		i915_gem_context_unreference(ctx);
 	}
 	kfree(request);
-- 
1.7.9.5

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Fix context object leak for legacy contexts
  2014-11-25 10:39 [PATCH] drm/i915: Fix context object leak for legacy contexts Thomas Daniel
@ 2014-11-25 10:49 ` John Harrison
  2014-11-25 17:05 ` [PATCH] drm/i915: Fix context object leak for legacy shuang.he
  1 sibling, 0 replies; 3+ messages in thread
From: John Harrison @ 2014-11-25 10:49 UTC (permalink / raw)
  To: Thomas Daniel, intel-gfx

Looks good to me.

Reviewed-by: John Harrison<John.C.Harrison@Intel.com>


On 25/11/2014 10:39, Thomas Daniel wrote:
> Dynamic context pinning for LRCs introduced a leak in legacy mode.
> Reinstate context unreference in i915_gem_free_request for legacy contexts.
>
> Leak reported by i-g-t/drv_module_reload fixed by this patch.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86507
> Signed-off-by: Thomas Daniel <thomas.daniel@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_gem.c |   10 ++++++----
>   1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 614bc2b..c630d49 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2574,11 +2574,13 @@ static void i915_gem_free_request(struct drm_i915_gem_request *request)
>   	list_del(&request->list);
>   	i915_gem_request_remove_from_client(request);
>   
> -	if (i915.enable_execlists && ctx) {
> -		struct intel_engine_cs *ring = request->ring;
> +	if (ctx) {
> +		if (i915.enable_execlists) {
> +			struct intel_engine_cs *ring = request->ring;
>   
> -		if (ctx != ring->default_context)
> -			intel_lr_context_unpin(ring, ctx);
> +			if (ctx != ring->default_context)
> +				intel_lr_context_unpin(ring, ctx);
> +		}
>   		i915_gem_context_unreference(ctx);
>   	}
>   	kfree(request);

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Fix context object leak for legacy
  2014-11-25 10:39 [PATCH] drm/i915: Fix context object leak for legacy contexts Thomas Daniel
  2014-11-25 10:49 ` John Harrison
@ 2014-11-25 17:05 ` shuang.he
  1 sibling, 0 replies; 3+ messages in thread
From: shuang.he @ 2014-11-25 17:05 UTC (permalink / raw)
  To: shuang.he, intel-gfx, thomas.daniel

Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                                  367/367              367/367
ILK                 -13              375/375              362/375
SNB                                  450/450              450/450
IVB                 -2              503/503              501/503
BYT                                  289/289              289/289
HSW                 -4              567/567              563/567
BDW                                  417/417              417/417
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
 ILK  igt_gem_reset_stats_close-pending-fork-render      TIMEOUT(15, M37M26)PASS(1, M26)      TIMEOUT(1, M26)
 ILK  igt_kms_3d      DMESG_WARN(2, M26)PASS(3, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_flip_flip-vs-dpms-off-vs-modeset      DMESG_WARN(1, M26)PASS(2, M37M26)      NSPT(1, M26)
 ILK  igt_kms_flip_nonexisting-fb      DMESG_WARN(3, M26)PASS(3, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_pipe_crc_basic_bad-nb-words-1      PASS(2, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_pipe_crc_basic_bad-pipe      PASS(2, M37M26)      DMESG_WARN(1, M26)
 ILK  igt_kms_setmode_invalid-clone-exclusive-crtc      DMESG_WARN(1, M26)PASS(2, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_flip_rcs-flip-vs-panning-interruptible      DMESG_WARN(1, M26)PASS(2, M37M26)      NSPT(1, M26)
*ILK  igt_kms_flip_rcs-wf_vblank-vs-dpms-interruptible      DMESG_WARN(1, M26)PASS(1, M37)      NSPT(1, M26)
 ILK  igt_kms_flip_rcs-wf_vblank-vs-modeset      DMESG_WARN(1, M26)PASS(2, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_flip_bcs-flip-vs-modeset-interruptible      PASS(4, M37M26)      DMESG_WARN(1, M26)
*ILK  igt_kms_flip_rcs-flip-vs-modeset-interruptible      PASS(4, M37M26)      DMESG_WARN(1, M26)
 ILK  igt_kms_flip_vblank-vs-hang      TIMEOUT(14, M37M26)PASS(1, M26)      TIMEOUT(1, M26)
 IVB  igt_gem_bad_reloc_negative-reloc      NSPT(16, M34M21M4)PASS(1, M21)      NSPT(1, M21)
 IVB  igt_gem_bad_reloc_negative-reloc-lut      NSPT(3, M21M34M4)PASS(17, M21M34M4)      NSPT(1, M21)
 HSW  igt_gem_bad_reloc_negative-reloc-lut      NSPT(26, M40M20M19)PASS(1, M20)      NSPT(1, M19)
*HSW  igt_kms_fence_pin_leak      PASS(3, M20M19)      DMESG_WARN(1, M19)
*HSW  igt_kms_rotation_crc_primary-rotation      PASS(25, M20M40M19)      DMESG_WARN(1, M19)
*HSW  igt_pm_rc6_residency_rc6-accuracy      PASS(27, M20M40M19)      FAIL(1, M19)
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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-25 17:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-25 10:39 [PATCH] drm/i915: Fix context object leak for legacy contexts Thomas Daniel
2014-11-25 10:49 ` John Harrison
2014-11-25 17:05 ` [PATCH] drm/i915: Fix context object leak for legacy shuang.he

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.