* [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.