Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-08-13 Thread Paul E. McKenney
On Fri, Aug 09, 2013 at 06:20:59PM +0200, Frederic Weisbecker wrote: > On Fri, Jul 26, 2013 at 04:19:23PM -0700, Paul E. McKenney wrote: > > diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h > > index 3edae39..ff84bed 100644 > > --- a/kernel/rcutree_plugin.h > > +++ b/kernel/rcutree_pl

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-08-09 Thread Frederic Weisbecker
On Fri, Jul 26, 2013 at 04:19:23PM -0700, Paul E. McKenney wrote: > diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h > index 3edae39..ff84bed 100644 > --- a/kernel/rcutree_plugin.h > +++ b/kernel/rcutree_plugin.h > @@ -28,7 +28,7 @@ > #include > #include > #include > -#include

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-29 Thread Paul E. McKenney
On Mon, Jul 29, 2013 at 04:19:48PM +0800, Lai Jiangshan wrote: > On 07/27/2013 07:19 AM, Paul E. McKenney wrote: > > From: "Paul E. McKenney" > > > > This commit adds the state machine that takes the per-CPU idle data > > as input and produces a full-system-idle indication as output. This > > st

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-29 Thread Lai Jiangshan
On 07/27/2013 07:19 AM, Paul E. McKenney wrote: > From: "Paul E. McKenney" > > This commit adds the state machine that takes the per-CPU idle data > as input and produces a full-system-idle indication as output. This > state machine is driven out of RCU's quiescent-state-forcing > mechanism, whi

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-27 Thread Frederic Weisbecker
On Fri, Jul 26, 2013 at 03:52:12PM -0700, Paul E. McKenney wrote: > On Thu, Jul 25, 2013 at 01:26:44AM +0200, Frederic Weisbecker wrote: > > I don't know because I encountered some troubles to build it, I'm seeing > > thousand > > lines like this: > > > > Name "main::opt_help" used only once: pos

[PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-26 Thread Paul E. McKenney
From: "Paul E. McKenney" This commit adds the state machine that takes the per-CPU idle data as input and produces a full-system-idle indication as output. This state machine is driven out of RCU's quiescent-state-forcing mechanism, which invokes rcu_sysidle_check_cpu() to collect per-CPU idle s

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-26 Thread Paul E. McKenney
On Thu, Jul 25, 2013 at 01:26:44AM +0200, Frederic Weisbecker wrote: > On Wed, Jul 24, 2013 at 03:09:02PM -0700, Paul E. McKenney wrote: > > On Wed, Jul 24, 2013 at 08:09:04PM +0200, Frederic Weisbecker wrote: > > > On Thu, Jul 18, 2013 at 10:06:25PM -0700, Paul E. McKenney wrote: > > > > > Lets su

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-24 Thread Frederic Weisbecker
On Wed, Jul 24, 2013 at 03:09:02PM -0700, Paul E. McKenney wrote: > On Wed, Jul 24, 2013 at 08:09:04PM +0200, Frederic Weisbecker wrote: > > On Thu, Jul 18, 2013 at 10:06:25PM -0700, Paul E. McKenney wrote: > > > > Lets summarize the last sequence, the following happens ordered by time: > > > > >

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-24 Thread Paul E. McKenney
On Wed, Jul 24, 2013 at 08:09:04PM +0200, Frederic Weisbecker wrote: > On Thu, Jul 18, 2013 at 10:06:25PM -0700, Paul E. McKenney wrote: > > > Lets summarize the last sequence, the following happens ordered by time: > > > > > > CPU 0 CPU 1 > > > > > > cmpxchg

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-24 Thread Frederic Weisbecker
On Thu, Jul 18, 2013 at 10:06:25PM -0700, Paul E. McKenney wrote: > > Lets summarize the last sequence, the following happens ordered by time: > > > > CPU 0 CPU 1 > > > > cmpxchg(&full_sysidle_state, > > RCU_SYSIDLE_SHORT, > > RCU_SY

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Paul E. McKenney
On Fri, Jul 19, 2013 at 04:12:08AM +0200, Frederic Weisbecker wrote: > On Thu, Jul 18, 2013 at 05:24:08PM -0700, Paul E. McKenney wrote: > > On Fri, Jul 19, 2013 at 12:46:21AM +0200, Frederic Weisbecker wrote: > > > On Thu, Jul 18, 2013 at 09:47:49AM -0700, Paul E. McKenney wrote: > > > > 1. Some C

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Frederic Weisbecker
On Thu, Jul 18, 2013 at 05:24:08PM -0700, Paul E. McKenney wrote: > On Fri, Jul 19, 2013 at 12:46:21AM +0200, Frederic Weisbecker wrote: > > On Thu, Jul 18, 2013 at 09:47:49AM -0700, Paul E. McKenney wrote: > > > 1. Some CPU coming out of idle: > > > > > > o rcu_sysidle_exit(): > > > > > > smp_

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Paul E. McKenney
On Fri, Jul 19, 2013 at 12:46:21AM +0200, Frederic Weisbecker wrote: > On Thu, Jul 18, 2013 at 09:47:49AM -0700, Paul E. McKenney wrote: > > On Thu, Jul 18, 2013 at 04:24:51PM +0200, Frederic Weisbecker wrote: > > > On Wed, Jul 17, 2013 at 08:39:21PM -0700, Paul E. McKenney wrote: > > > > On Thu, J

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Frederic Weisbecker
On Thu, Jul 18, 2013 at 09:47:49AM -0700, Paul E. McKenney wrote: > On Thu, Jul 18, 2013 at 04:24:51PM +0200, Frederic Weisbecker wrote: > > On Wed, Jul 17, 2013 at 08:39:21PM -0700, Paul E. McKenney wrote: > > > On Thu, Jul 18, 2013 at 03:33:01AM +0200, Frederic Weisbecker wrote: > > > > So it's l

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Paul E. McKenney
On Thu, Jul 18, 2013 at 04:24:51PM +0200, Frederic Weisbecker wrote: > On Wed, Jul 17, 2013 at 08:39:21PM -0700, Paul E. McKenney wrote: > > On Thu, Jul 18, 2013 at 03:33:01AM +0200, Frederic Weisbecker wrote: > > > So it's like: > > > > > > CPU 0 C

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-18 Thread Frederic Weisbecker
On Wed, Jul 17, 2013 at 08:39:21PM -0700, Paul E. McKenney wrote: > On Thu, Jul 18, 2013 at 03:33:01AM +0200, Frederic Weisbecker wrote: > > So it's like: > > > > CPU 0 CPU 1 > > > > read I write I >

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-17 Thread Paul E. McKenney
On Thu, Jul 18, 2013 at 03:33:01AM +0200, Frederic Weisbecker wrote: > On Wed, Jul 17, 2013 at 05:41:41PM -0700, Paul E. McKenney wrote: > > On Thu, Jul 18, 2013 at 01:31:21AM +0200, Frederic Weisbecker wrote: > > > I'm missing a key here. > > > > > > Let's imagine that the timekeeper has finally

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-17 Thread Frederic Weisbecker
On Wed, Jul 17, 2013 at 05:41:41PM -0700, Paul E. McKenney wrote: > On Thu, Jul 18, 2013 at 01:31:21AM +0200, Frederic Weisbecker wrote: > > I'm missing a key here. > > > > Let's imagine that the timekeeper has finally set full_sysidle_state = > > RCU_SYSIDLE_FULL_NOTED > > with cmpxchg, what gua

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-17 Thread Paul E. McKenney
On Thu, Jul 18, 2013 at 01:31:21AM +0200, Frederic Weisbecker wrote: > On Mon, Jul 08, 2013 at 06:30:05PM -0700, Paul E. McKenney wrote: > > } > > > > /* > > + * Unconditionally force exit from full system-idle state. This is > > + * invoked when a normal CPU exits idle, but must be called sep

Re: [PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-17 Thread Frederic Weisbecker
On Mon, Jul 08, 2013 at 06:30:05PM -0700, Paul E. McKenney wrote: > } > > /* > + * Unconditionally force exit from full system-idle state. This is > + * invoked when a normal CPU exits idle, but must be called separately > + * for the timekeeping CPU (tick_do_timer_cpu). The reason for this >

[PATCH RFC nohz_full 6/7] nohz_full: Add full-system-idle state machine

2013-07-08 Thread Paul E. McKenney
From: "Paul E. McKenney" This commit adds the state machine that takes the per-CPU idle data as input and produces a full-system-idle indication as output. This state machine is driven out of RCU's quiescent-state-forcing mechanism, which invokes rcu_sysidle_check_cpu() to collect per-CPU idle s