All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Micro-optimise i915_request_retire()
@ 2018-05-02 17:21 Chris Wilson
  2018-05-02 18:09 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chris Wilson @ 2018-05-02 17:21 UTC (permalink / raw)
  To: intel-gfx

I caught the compiler emitting the if(!NULL) guard at the start of
dma_fence_put(); on the request it should know for certain is already
non-NULL. Mark up the function as non-null and tell the compiler that
the request pointer doesn't change:

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5)
Function                                     old     new   delta
i915_request_retire                         1782    1777      -5

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/i915_request.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index 3bcb75742110..d54c99211c8c 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -405,7 +405,8 @@ static void __retire_engine_upto(struct intel_engine_cs *engine,
 	} while (tmp != rq);
 }
 
-static void i915_request_retire(struct i915_request *request)
+__attribute__((nonnull))
+static void i915_request_retire(struct i915_request * const request)
 {
 	struct i915_gem_active *active, *next;
 
-- 
2.17.0

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

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

* ✓ Fi.CI.BAT: success for drm/i915: Micro-optimise i915_request_retire()
  2018-05-02 17:21 [PATCH] drm/i915: Micro-optimise i915_request_retire() Chris Wilson
@ 2018-05-02 18:09 ` Patchwork
  2018-05-03  0:15 ` ✓ Fi.CI.IGT: " Patchwork
  2018-05-03 13:59 ` [PATCH] " Joonas Lahtinen
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-05-02 18:09 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Micro-optimise i915_request_retire()
URL   : https://patchwork.freedesktop.org/series/42581/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4123 -> Patchwork_8877 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/42581/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_8877 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s3:
      fi-ivb-3520m:       PASS -> DMESG-WARN (fdo#106084)

    
    ==== Possible fixes ====

    igt@kms_chamelium@dp-edid-read:
      fi-kbl-7500u:       FAIL (fdo#103841) -> PASS

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-cfl-s3:          FAIL (fdo#100368, fdo#103928) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-ivb-3520m:       DMESG-WARN (fdo#106084) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841
  fdo#103928 https://bugs.freedesktop.org/show_bug.cgi?id=103928
  fdo#106084 https://bugs.freedesktop.org/show_bug.cgi?id=106084


== Participating hosts (40 -> 37) ==

  Missing    (3): fi-ctg-p8600 fi-ilk-m540 fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4123 -> Patchwork_8877

  CI_DRM_4123: cbb6a0aa933f3323a8deb331aca503b7388abc06 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4456: 43761534c6482dc67b9c3d8eeecd425ef40b3c4c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8877: 3e71f2fbd4fa2eb41fe0f24ec9df1dd2928b82db @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4456: 30b992bdc047073e1fe99b1ac622f026618a8081 @ git://anongit.freedesktop.org/piglit


== Linux commits ==

3e71f2fbd4fa drm/i915: Micro-optimise i915_request_retire()

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8877/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for drm/i915: Micro-optimise i915_request_retire()
  2018-05-02 17:21 [PATCH] drm/i915: Micro-optimise i915_request_retire() Chris Wilson
  2018-05-02 18:09 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-05-03  0:15 ` Patchwork
  2018-05-03 13:59 ` [PATCH] " Joonas Lahtinen
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-05-03  0:15 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Micro-optimise i915_request_retire()
URL   : https://patchwork.freedesktop.org/series/42581/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4123_full -> Patchwork_8877_full =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/42581/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_8877_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> FAIL (fdo#105900)

    igt@kms_color@pipe-a-ctm-0-25:
      shard-kbl:          PASS -> DMESG-WARN (fdo#105602, fdo#103558) +5

    igt@kms_cursor_crc@cursor-128x128-suspend:
      shard-glk:          PASS -> INCOMPLETE (fdo#103359, k.org#198133)
      shard-apl:          PASS -> FAIL (fdo#103375)

    igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#103928)

    igt@kms_flip@absolute-wf_vblank-interruptible:
      shard-glk:          PASS -> FAIL (fdo#106087)

    igt@kms_flip@dpms-vs-vblank-race-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#103060)

    igt@kms_setmode@basic:
      shard-hsw:          PASS -> FAIL (fdo#99912)

    igt@kms_sysfs_edid_timing:
      shard-apl:          PASS -> WARN (fdo#100047)

    
    ==== Possible fixes ====

    igt@kms_atomic_interruptible@universal-setplane-primary:
      shard-kbl:          DMESG-WARN (fdo#105602, fdo#103558) -> PASS +40

    igt@kms_flip@dpms-vs-vblank-race-interruptible:
      shard-glk:          FAIL (fdo#103060) -> PASS

    igt@kms_flip@flip-vs-expired-vblank:
      shard-glk:          FAIL (fdo#105363) -> PASS

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-glk:          FAIL (fdo#102887) -> PASS

    igt@kms_flip@flip-vs-wf_vblank-interruptible:
      shard-glk:          FAIL (fdo#100368) -> PASS +3

    igt@kms_flip@wf_vblank-ts-check-interruptible:
      shard-hsw:          FAIL (fdo#103928) -> PASS

    
  fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#103928 https://bugs.freedesktop.org/show_bug.cgi?id=103928
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105900 https://bugs.freedesktop.org/show_bug.cgi?id=105900
  fdo#106087 https://bugs.freedesktop.org/show_bug.cgi?id=106087
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (7 -> 7) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4123 -> Patchwork_8877

  CI_DRM_4123: cbb6a0aa933f3323a8deb331aca503b7388abc06 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4456: 43761534c6482dc67b9c3d8eeecd425ef40b3c4c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8877: 3e71f2fbd4fa2eb41fe0f24ec9df1dd2928b82db @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4456: 30b992bdc047073e1fe99b1ac622f026618a8081 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8877/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Micro-optimise i915_request_retire()
  2018-05-02 17:21 [PATCH] drm/i915: Micro-optimise i915_request_retire() Chris Wilson
  2018-05-02 18:09 ` ✓ Fi.CI.BAT: success for " Patchwork
  2018-05-03  0:15 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-05-03 13:59 ` Joonas Lahtinen
  2018-05-03 14:06   ` Chris Wilson
  2 siblings, 1 reply; 6+ messages in thread
From: Joonas Lahtinen @ 2018-05-03 13:59 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Quoting Chris Wilson (2018-05-02 20:21:42)
> I caught the compiler emitting the if(!NULL) guard at the start of
> dma_fence_put(); on the request it should know for certain is already
> non-NULL. Mark up the function as non-null and tell the compiler that
> the request pointer doesn't change:
> 
> add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5)
> Function                                     old     new   delta
> i915_request_retire                         1782    1777      -5
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Regards, Joonas
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Micro-optimise i915_request_retire()
  2018-05-03 13:59 ` [PATCH] " Joonas Lahtinen
@ 2018-05-03 14:06   ` Chris Wilson
  2018-05-03 16:32     ` Tvrtko Ursulin
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2018-05-03 14:06 UTC (permalink / raw)
  To: Joonas Lahtinen, intel-gfx

Quoting Joonas Lahtinen (2018-05-03 14:59:35)
> Quoting Chris Wilson (2018-05-02 20:21:42)
> > I caught the compiler emitting the if(!NULL) guard at the start of
> > dma_fence_put(); on the request it should know for certain is already
> > non-NULL. Mark up the function as non-null and tell the compiler that
> > the request pointer doesn't change:
> > 
> > add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5)
> > Function                                     old     new   delta
> > i915_request_retire                         1782    1777      -5
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Heh, Tvrtko out Joonased Jonas, as he complained that this was doing the
compiler's job: "where does it end?"
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Micro-optimise i915_request_retire()
  2018-05-03 14:06   ` Chris Wilson
@ 2018-05-03 16:32     ` Tvrtko Ursulin
  0 siblings, 0 replies; 6+ messages in thread
From: Tvrtko Ursulin @ 2018-05-03 16:32 UTC (permalink / raw)
  To: Chris Wilson, Joonas Lahtinen, intel-gfx


On 03/05/2018 15:06, Chris Wilson wrote:
> Quoting Joonas Lahtinen (2018-05-03 14:59:35)
>> Quoting Chris Wilson (2018-05-02 20:21:42)
>>> I caught the compiler emitting the if(!NULL) guard at the start of
>>> dma_fence_put(); on the request it should know for certain is already
>>> non-NULL. Mark up the function as non-null and tell the compiler that
>>> the request pointer doesn't change:
>>>
>>> add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5)
>>> Function                                     old     new   delta
>>> i915_request_retire                         1782    1777      -5
>>>
>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> 
> Heh, Tvrtko out Joonased Jonas, as he complained that this was doing the
> compiler's job: "where does it end?"

Yeah, Joonas is getting soft. ;)

My concern was that we could then go around annotating many function 
arguments which cannot take NULLs. (Which I think we should not do.) So 
it seemed random to annotate just one for one branch saved, with 
potentially just one compiler version/whatever. Just my 2c.

Regards,

Tvrtko

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

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

end of thread, other threads:[~2018-05-03 16:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-02 17:21 [PATCH] drm/i915: Micro-optimise i915_request_retire() Chris Wilson
2018-05-02 18:09 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-05-03  0:15 ` ✓ Fi.CI.IGT: " Patchwork
2018-05-03 13:59 ` [PATCH] " Joonas Lahtinen
2018-05-03 14:06   ` Chris Wilson
2018-05-03 16:32     ` Tvrtko Ursulin

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.