Re: [PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-18 Thread Steven Rostedt
On Sat, 2013-02-16 at 12:59 -0800, Paul E. McKenney wrote: > > > diff --git a/kernel/rcutiny_plugin.h b/kernel/rcutiny_plugin.h > > index 2b0484a..bac1906 100644 > > --- a/kernel/rcutiny_plugin.h > > +++ b/kernel/rcutiny_plugin.h > > @@ -552,7 +552,7 @@ static void rcu_read_unlock_special(struct

Re: [PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-18 Thread Steven Rostedt
On Sat, 2013-02-16 at 12:59 -0800, Paul E. McKenney wrote: diff --git a/kernel/rcutiny_plugin.h b/kernel/rcutiny_plugin.h index 2b0484a..bac1906 100644 --- a/kernel/rcutiny_plugin.h +++ b/kernel/rcutiny_plugin.h @@ -552,7 +552,7 @@ static void rcu_read_unlock_special(struct

Re: [PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-17 Thread Paul E. McKenney
On Wed, Feb 13, 2013 at 05:11:59PM +0100, Sebastian Andrzej Siewior wrote: > From: Thomas Gleixner > > rcu_read_unlock_special() checks in_serving_softirq() and leaves early > when true. On RT this is obviously wrong as softirq processing context > can be preempted and therefor such a task can

Re: [PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-17 Thread Paul E. McKenney
On Wed, Feb 13, 2013 at 05:11:59PM +0100, Sebastian Andrzej Siewior wrote: From: Thomas Gleixner t...@linutronix.de rcu_read_unlock_special() checks in_serving_softirq() and leaves early when true. On RT this is obviously wrong as softirq processing context can be preempted and therefor such

[PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-13 Thread Sebastian Andrzej Siewior
From: Thomas Gleixner rcu_read_unlock_special() checks in_serving_softirq() and leaves early when true. On RT this is obviously wrong as softirq processing context can be preempted and therefor such a task can be on the gp_tasks list. Leaving early here will leave the task on the list and

[PATCH 04/16] rcu: rcutiny: Prevent RCU stall

2013-02-13 Thread Sebastian Andrzej Siewior
From: Thomas Gleixner t...@linutronix.de rcu_read_unlock_special() checks in_serving_softirq() and leaves early when true. On RT this is obviously wrong as softirq processing context can be preempted and therefor such a task can be on the gp_tasks list. Leaving early here will leave the task on