linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Two missing _HARD annotations for the timer code
@ 2019-08-23 11:38 Sebastian Andrzej Siewior
  2019-08-23 11:38 ` [PATCH 1/2] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD Sebastian Andrzej Siewior
  2019-08-23 11:38 ` [PATCH 2/2] tick: Mark sched_timer in hard interrupt context Sebastian Andrzej Siewior
  0 siblings, 2 replies; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-08-23 11:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Gleixner

I compared my old queue vs tip/master and noticed two missing hunks.

Sebastian


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

* [PATCH 1/2] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD
  2019-08-23 11:38 [PATCH 0/2] Two missing _HARD annotations for the timer code Sebastian Andrzej Siewior
@ 2019-08-23 11:38 ` Sebastian Andrzej Siewior
  2019-08-28 11:03   ` [tip: timers/core] " tip-bot2 for Sebastian Andrzej Siewior
  2019-08-23 11:38 ` [PATCH 2/2] tick: Mark sched_timer in hard interrupt context Sebastian Andrzej Siewior
  1 sibling, 1 reply; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-08-23 11:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Gleixner, Sebastian Andrzej Siewior

Add kernel doc annotation for HRTIMER_MODE_HARD.
This should have been part of commit
  ae6683d815895 ("hrtimer: Introduce HARD expiry mode")

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 include/linux/hrtimer.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 5df4bcff96d58..1b9a51a1bccb7 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -32,6 +32,8 @@ struct hrtimer_cpu_base;
  *				  when starting the timer)
  * HRTIMER_MODE_SOFT		- Timer callback function will be executed in
  *				  soft irq context
+ * HRTIMER_MODE_HARD		- Timer callback function will be executed in
+ *				  hard irq context even on PREEMPT_RT.
  */
 enum hrtimer_mode {
 	HRTIMER_MODE_ABS	= 0x00,
-- 
2.23.0


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

* [PATCH 2/2] tick: Mark sched_timer in hard interrupt context
  2019-08-23 11:38 [PATCH 0/2] Two missing _HARD annotations for the timer code Sebastian Andrzej Siewior
  2019-08-23 11:38 ` [PATCH 1/2] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD Sebastian Andrzej Siewior
@ 2019-08-23 11:38 ` Sebastian Andrzej Siewior
  2019-08-28 11:03   ` [tip: timers/core] tick: Mark sched_timer to expire " tip-bot2 for Sebastian Andrzej Siewior
  1 sibling, 1 reply; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-08-23 11:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Gleixner, Sebastian Andrzej Siewior

The sched_timer should be initialized with the _HARD suffix. Most of
this already happened in commit
	902a9f9c50905 ("tick: Mark tick related hrtimers to expiry in hard interrupt context")

but this one instance has been missed.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 kernel/time/tick-sched.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index cc1a322121b4b..433879b35cbb7 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -1239,7 +1239,7 @@ static void tick_nohz_switch_to_nohz(void)
 	 * Recycle the hrtimer in ts, so we can share the
 	 * hrtimer_forward with the highres code.
 	 */
-	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
+	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD);
 	/* Get the next period */
 	next = tick_init_jiffy_update();
 
-- 
2.23.0


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

* [tip: timers/core] tick: Mark sched_timer to expire in hard interrupt context
  2019-08-23 11:38 ` [PATCH 2/2] tick: Mark sched_timer in hard interrupt context Sebastian Andrzej Siewior
@ 2019-08-28 11:03   ` tip-bot2 for Sebastian Andrzej Siewior
  2019-08-28 13:48     ` Frederic Weisbecker
  0 siblings, 1 reply; 6+ messages in thread
From: tip-bot2 for Sebastian Andrzej Siewior @ 2019-08-28 11:03 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Sebastian Andrzej Siewior, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, linux-kernel

The following commit has been merged into the timers/core branch of tip:

Commit-ID:     71fed982d63cb2bb88db6f36059e3b14a7913846
Gitweb:        https://git.kernel.org/tip/71fed982d63cb2bb88db6f36059e3b14a7913846
Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate:    Fri, 23 Aug 2019 13:38:45 +02:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 28 Aug 2019 13:01:26 +02:00

tick: Mark sched_timer to expire in hard interrupt context

sched_timer must be initialized with the _HARD mode suffix to ensure expiry
in hard interrupt context on RT.

The previous conversion to HARD expiry mode missed on one instance in
tick_nohz_switch_to_nohz(). Fix it up.

Fixes: 902a9f9c50905 ("tick: Mark tick related hrtimers to expiry in hard interrupt context")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20190823113845.12125-3-bigeasy@linutronix.de

---
 kernel/time/tick-sched.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 01ff32a..9558517 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -1233,7 +1233,7 @@ static void tick_nohz_switch_to_nohz(void)
 	 * Recycle the hrtimer in ts, so we can share the
 	 * hrtimer_forward with the highres code.
 	 */
-	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
+	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD);
 	/* Get the next period */
 	next = tick_init_jiffy_update();
 

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

* [tip: timers/core] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD
  2019-08-23 11:38 ` [PATCH 1/2] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD Sebastian Andrzej Siewior
@ 2019-08-28 11:03   ` tip-bot2 for Sebastian Andrzej Siewior
  0 siblings, 0 replies; 6+ messages in thread
From: tip-bot2 for Sebastian Andrzej Siewior @ 2019-08-28 11:03 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Sebastian Andrzej Siewior, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, linux-kernel

The following commit has been merged into the timers/core branch of tip:

Commit-ID:     a67e408241783575716fcf3f79d0878f6cef0273
Gitweb:        https://git.kernel.org/tip/a67e408241783575716fcf3f79d0878f6cef0273
Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate:    Fri, 23 Aug 2019 13:38:44 +02:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 28 Aug 2019 13:01:25 +02:00

hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD

Add kernel doc annotation for HRTIMER_MODE_HARD.

Fixes: ae6683d815895 ("hrtimer: Introduce HARD expiry mode")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20190823113845.12125-2-bigeasy@linutronix.de

---
 include/linux/hrtimer.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 5df4bcf..1b9a51a 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -32,6 +32,8 @@ struct hrtimer_cpu_base;
  *				  when starting the timer)
  * HRTIMER_MODE_SOFT		- Timer callback function will be executed in
  *				  soft irq context
+ * HRTIMER_MODE_HARD		- Timer callback function will be executed in
+ *				  hard irq context even on PREEMPT_RT.
  */
 enum hrtimer_mode {
 	HRTIMER_MODE_ABS	= 0x00,

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

* Re: [tip: timers/core] tick: Mark sched_timer to expire in hard interrupt context
  2019-08-28 11:03   ` [tip: timers/core] tick: Mark sched_timer to expire " tip-bot2 for Sebastian Andrzej Siewior
@ 2019-08-28 13:48     ` Frederic Weisbecker
  0 siblings, 0 replies; 6+ messages in thread
From: Frederic Weisbecker @ 2019-08-28 13:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-tip-commits, Sebastian Andrzej Siewior, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov

On Wed, Aug 28, 2019 at 11:03:33AM -0000, tip-bot2 for Sebastian Andrzej Siewior wrote:
> The following commit has been merged into the timers/core branch of tip:
> 
> Commit-ID:     71fed982d63cb2bb88db6f36059e3b14a7913846
> Gitweb:        https://git.kernel.org/tip/71fed982d63cb2bb88db6f36059e3b14a7913846
> Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> AuthorDate:    Fri, 23 Aug 2019 13:38:45 +02:00
> Committer:     Thomas Gleixner <tglx@linutronix.de>
> CommitterDate: Wed, 28 Aug 2019 13:01:26 +02:00
> 
> tick: Mark sched_timer to expire in hard interrupt context
> 
> sched_timer must be initialized with the _HARD mode suffix to ensure expiry
> in hard interrupt context on RT.
> 
> The previous conversion to HARD expiry mode missed on one instance in
> tick_nohz_switch_to_nohz(). Fix it up.
> 
> Fixes: 902a9f9c50905 ("tick: Mark tick related hrtimers to expiry in hard interrupt context")
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Link: https://lkml.kernel.org/r/20190823113845.12125-3-bigeasy@linutronix.de
> 
> ---
>  kernel/time/tick-sched.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index 01ff32a..9558517 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -1233,7 +1233,7 @@ static void tick_nohz_switch_to_nohz(void)
>  	 * Recycle the hrtimer in ts, so we can share the
>  	 * hrtimer_forward with the highres code.
>  	 */
> -	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
> +	hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD);

That said, this instance only uses hrtimer for time computing. The backend is
clockevent directly.

>  	/* Get the next period */
>  	next = tick_init_jiffy_update();
>  

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

end of thread, other threads:[~2019-08-28 13:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-23 11:38 [PATCH 0/2] Two missing _HARD annotations for the timer code Sebastian Andrzej Siewior
2019-08-23 11:38 ` [PATCH 1/2] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD Sebastian Andrzej Siewior
2019-08-28 11:03   ` [tip: timers/core] " tip-bot2 for Sebastian Andrzej Siewior
2019-08-23 11:38 ` [PATCH 2/2] tick: Mark sched_timer in hard interrupt context Sebastian Andrzej Siewior
2019-08-28 11:03   ` [tip: timers/core] tick: Mark sched_timer to expire " tip-bot2 for Sebastian Andrzej Siewior
2019-08-28 13:48     ` Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).