Skip to contentSkip to conversation

drm/i915/selftests: Convert timers to use timer_setup()

PATCH In review Kees Cook 3 participants 8 messages Oct 24, 2017 – Oct 25, 2017

Subsystems (2)
lore
Share & tools
lore

Kees Cook

author
#0 lore raw

PATCH 1/1 drm/i915/selftests: Convert timers to use timer_setup()

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/selftests/lib_sw_fence.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/gpu/drm/i915/selftests/lib_sw_fence.c +3 -3
index 3790fdf44a1a..b26f07b55d86 100644
@@ -49,9 +49,9 @@ void onstack_fence_fini(struct i915_sw_fence *fence)
 	i915_sw_fence_fini(fence);
 }
 
-static void timed_fence_wake(unsigned long data)
+static void timed_fence_wake(struct timer_list *t)
 {
-	struct timed_fence *tf = (struct timed_fence *)data;
+	struct timed_fence *tf = from_timer(tf, t, timer);
 
 	i915_sw_fence_commit(&tf->fence);
 }
@@ -60,7 +60,7 @@ void timed_fence_init(struct timed_fence *tf, unsigned long expires)
 {
 	onstack_fence_init(&tf->fence);
 
-	setup_timer_on_stack(&tf->timer, timed_fence_wake, (unsigned long)tf);
+	timer_setup_on_stack(&tf->timer, timed_fence_wake, 0);
 
 	if (time_after(expires, jiffies))
 		mod_timer(&tf->timer, expires);
Signature · 10 lines
2.7.4


-- 
Kees Cook
Pixel Security
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Reviewed-by on v1 1/1
#1 lore raw

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 4 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Quoted 9 lines
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>

Thank you for saving me from having to do this myself,

-Chris
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#2 lore raw

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 15 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 4 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Quoted 9 lines
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>
Quoted 2 lines

Thank you for saving me from having to do this myself,

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#3 lore raw

Quoting Chris Wilson (2017-10-25 11:24:19)

Quoted 16 lines

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 15 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 13 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>
Quoted 5 lines
Quoted 2 lines

Thank you for saving me from having to do this myself,

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.

Oh dear, major faux pas. There is no timer_setup_on_stack yet. -Chris
_______________________________________________
dri-devel mailing list [email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

author
#4 lore raw
Quoted 17 lines · Chris Wilson

Quoting Chris Wilson (2017-10-25 11:24:19)

Quoted 16 lines

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 15 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 13 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Thank you for saving me from having to do this myself,

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.

Oh dear, major faux pas. There is no timer_setup_on_stack yet.

Argh. Right, sorry. That's only in -next. Since this is mainly a mechanical change, should I carry this in the timer tree, or wait until the merge window for it to go via i915?

-Kees

Signature · 6 lines
Kees Cook
Pixel Security
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#5 lore raw

Quoting Kees Cook (2017-10-25 15:05:13)

Quoted 21 lines · Chris Wilson
Quoted 20 lines

Quoting Chris Wilson (2017-10-25 11:24:19)

Quoted 19 lines

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 17 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 4 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Quoted 9 lines
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>

Thank you for saving me from having to do this myself,

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.

Oh dear, major faux pas. There is no timer_setup_on_stack yet.

Argh. Right, sorry. That's only in -next. Since this is mainly a mechanical change, should I carry this in the timer tree, or wait until the merge window for it to go via i915?

Jani has the final word, but my understanding is that there will be no more from i915 towards the 4.15 merge. Hmm, the origin of this timer,

commit 214707fc2ce08d09982bc4fe4b7a1c1f010e82be

Author: Chris Wilson <[email protected]>
Date:   Thu Oct 12 13:57:25 2017 +0100

drm/i915/selftests: Wrap a timer into a i915_sw_fence

did make it into 4.15, so it would have been better to put into a separate tree for the 4.15 merge window anyway. In hindsight, yes this probably wants to be carried in the timer tree to be applied after i915. (I guess there will be a few other stragglers that need to be converted at the end of the merge window anyway.)

Jani?
-Chris
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

author
#6 lore raw
Quoted 38 lines · Chris Wilson

Quoting Kees Cook (2017-10-25 15:05:13)

Quoted 21 lines · Chris Wilson
Quoted 20 lines

Quoting Chris Wilson (2017-10-25 11:24:19)

Quoted 19 lines

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 17 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 4 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Quoted 9 lines
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>

Thank you for saving me from having to do this myself,

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.

Oh dear, major faux pas. There is no timer_setup_on_stack yet.

Argh. Right, sorry. That's only in -next. Since this is mainly a mechanical change, should I carry this in the timer tree, or wait until the merge window for it to go via i915?

Jani has the final word, but my understanding is that there will be no more from i915 towards the 4.15 merge. Hmm, the origin of this timer,

commit 214707fc2ce08d09982bc4fe4b7a1c1f010e82be

Author: Chris Wilson <[email protected]>
Date:   Thu Oct 12 13:57:25 2017 +0100
Quoted 7 lines

drm/i915/selftests: Wrap a timer into a i915_sw_fence

did make it into 4.15, so it would have been better to put into a separate tree for the 4.15 merge window anyway. In hindsight, yes this probably wants to be carried in the timer tree to be applied after i915. (I guess there will be a few other stragglers that need to be converted at the end of the merge window anyway.)

Yeah, it's going to be messy, but I'll manage. I'll be carrying a lot of other stuff as well. Avoiding conflicts will be the trick. Wheee. :)

-Kees

Signature · 6 lines
Kees Cook
Pixel Security
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
maintainer Acked-by
#7 lore raw
Quoted 47 lines · Kees Cook
Quoted 38 lines · Chris Wilson

Quoting Kees Cook (2017-10-25 15:05:13)

Quoted 21 lines · Chris Wilson
Quoted 20 lines

Quoting Chris Wilson (2017-10-25 11:24:19)

Quoted 19 lines

Quoting Chris Wilson (2017-10-24 17:17:09)

Quoted 17 lines

Quoting Kees Cook (2017-10-24 16:13:44)

Quoted 4 lines

In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.

Quoted 9 lines
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc David Airlie <[email protected]>
Cc Tvrtko Ursulin <[email protected]>
Cc Chris Wilson <[email protected]>

Thank you for saving me from having to do this myself,

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

I've a small batch of selftests patches queued, so added this one and will push to drm-intel-next-queued shortly.

Oh dear, major faux pas. There is no timer_setup_on_stack yet.

Argh. Right, sorry. That's only in -next. Since this is mainly a mechanical change, should I carry this in the timer tree, or wait until the merge window for it to go via i915?

Jani has the final word, but my understanding is that there will be no more from i915 towards the 4.15 merge. Hmm, the origin of this timer,

commit 214707fc2ce08d09982bc4fe4b7a1c1f010e82be

Author: Chris Wilson <[email protected]>
Date:   Thu Oct 12 13:57:25 2017 +0100
Quoted 7 lines

drm/i915/selftests: Wrap a timer into a i915_sw_fence

did make it into 4.15, so it would have been better to put into a separate tree for the 4.15 merge window anyway. In hindsight, yes this probably wants to be carried in the timer tree to be applied after i915. (I guess there will be a few other stragglers that need to be converted at the end of the merge window anyway.)

Quoted 3 lines

Yeah, it's going to be messy, but I'll manage. I'll be carrying a lot of other stuff as well. Avoiding conflicts will be the trick. Wheee. :)

for merging via timer tree. Otherwise we'll need to wait for the changes to hit Linus' tree, then get backmerges to our tree, and it's v4.16 before you know it. ;)

Signature · 1 line
Jani Nikula, Intel Open Source Technology Center