Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1443560 > unrolled thread

[RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock

Started bySebastian Andrzej Siewior <bigeasy@linutronix.de>
First post2016-07-14 18:10 +0200
Last post2016-07-14 19:30 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-07-14 18:10 +0200
    Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding  the base lock Steven Rostedt <rostedt@goodmis.org> - 2016-07-14 18:20 +0200
      Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding  the base lock Steven Rostedt <rostedt@goodmis.org> - 2016-07-14 19:30 +0200
      Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding  the base lock Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-07-14 19:30 +0200

#1443560 — [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock

FromSebastian Andrzej Siewior <bigeasy@linutronix.de>
Date2016-07-14 18:10 +0200
Subject[RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock
Message-ID<rURn4-3qz-29@gated-at.bofh.it>
There should be no need to hold the base lock during the wakeup. There
should be no boosting involved, the wakeup list has its own lock so it
should be safe to do this without the lock.

Cc: stable-rt@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 kernel/time/timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index b3c3d3a6216f..716ef84a5d87 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1313,8 +1313,8 @@ static inline void __run_timers(struct tvec_base *base)
 			}
 		}
 	}
-	wakeup_timer_waiters(base);
 	spin_unlock_irq(&base->lock);
+	wakeup_timer_waiters(base);
 }
 
 #ifdef CONFIG_NO_HZ_COMMON
-- 
2.8.1

[toc] | [next] | [standalone]


#1443572 — Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-14 18:20 +0200
SubjectRe: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock
Message-ID<rURwK-3tZ-21@gated-at.bofh.it>
In reply to#1443560
On Thu, 14 Jul 2016 18:05:04 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:

> There should be no need to hold the base lock during the wakeup. There
> should be no boosting involved, the wakeup list has its own lock so it
> should be safe to do this without the lock.
> 
> Cc: stable-rt@vger.kernel.org

Nothing against this patch, but as you marked it for stable, can you
add to the change log what issue you had that caused you to make this
change?

-- Steve

> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
>  kernel/time/timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index b3c3d3a6216f..716ef84a5d87 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -1313,8 +1313,8 @@ static inline void __run_timers(struct tvec_base *base)
>  			}
>  		}
>  	}
> -	wakeup_timer_waiters(base);
>  	spin_unlock_irq(&base->lock);
> +	wakeup_timer_waiters(base);
>  }
>  
>  #ifdef CONFIG_NO_HZ_COMMON

[toc] | [prev] | [next] | [standalone]


#1443620 — Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-14 19:30 +0200
SubjectRe: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock
Message-ID<rUSCt-49i-7@gated-at.bofh.it>
In reply to#1443572
On Thu, 14 Jul 2016 19:19:47 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:

> On 07/14/2016 06:09 PM, Steven Rostedt wrote:
> > On Thu, 14 Jul 2016 18:05:04 +0200
> > Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> >   
> >> There should be no need to hold the base lock during the wakeup. There
> >> should be no boosting involved, the wakeup list has its own lock so it
> >> should be safe to do this without the lock.
> >>
> >> Cc: stable-rt@vger.kernel.org  
> > 
> > Nothing against this patch, but as you marked it for stable, can you
> > add to the change log what issue you had that caused you to make this
> > change?  
> 
> #1 was noticed while looking at the code, it *might* happen.
> #2 Is not strictly required for back porting.
> I just don't see a reason for holding the lock, that is all.
> 

I have no problem backporting them. I just thought that the change log
might have been missing some useful information.

-- Steve

[toc] | [prev] | [next] | [standalone]


#1443622 — Re: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock

FromSebastian Andrzej Siewior <bigeasy@linutronix.de>
Date2016-07-14 19:30 +0200
SubjectRe: [RT PATCH 2/2] timers: wakeup all timer waiters without holding the base lock
Message-ID<rUSCt-49i-9@gated-at.bofh.it>
In reply to#1443572
On 07/14/2016 06:09 PM, Steven Rostedt wrote:
> On Thu, 14 Jul 2016 18:05:04 +0200
> Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> 
>> There should be no need to hold the base lock during the wakeup. There
>> should be no boosting involved, the wakeup list has its own lock so it
>> should be safe to do this without the lock.
>>
>> Cc: stable-rt@vger.kernel.org
> 
> Nothing against this patch, but as you marked it for stable, can you
> add to the change log what issue you had that caused you to make this
> change?

#1 was noticed while looking at the code, it *might* happen.
#2 Is not strictly required for back porting.
I just don't see a reason for holding the lock, that is all.

> -- Steve

Sebastian

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web