Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-18 Thread Frederic Weisbecker
On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: > On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney > wrote: > > On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: > >> On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: > >> > For reasons that mystify

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-18 Thread Frederic Weisbecker
On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: > For reasons that mystify me a bit, we currently track context tracking > state separately from rcu's watching state. This results in strange > artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we > can nest

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-18 Thread Frederic Weisbecker
On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-18 Thread Frederic Weisbecker
On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For reasons that mystify me a bit, we currently track context tracking state separately from rcu's watching state. This results in strange artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we can nest exceptions

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 04:20:57PM -0700, Andy Lutomirski wrote: > On Fri, Jul 17, 2015 at 3:55 PM, Paul E. McKenney > wrote: > > On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: > >> On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney > >> wrote: > >> > On Fri, Jul 17, 2015 at

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 3:55 PM, Paul E. McKenney wrote: > On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: >> On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney >> wrote: >> > On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: >> >> True. But context tracking

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: > On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney > wrote: > > On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: > >> True. But context tracking wouldn't object to being exact. And I > >> think we need context

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 2:22 PM, Paul E. McKenney wrote: > And please see attached for an in-process LWN article on RCU's requirements. > If you get a chance to look it over, I would value any feedback that you > might have. > Sure. Nice article! I found the add_gp_buggy thing a bit confusing.

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney wrote: > On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: >> True. But context tracking wouldn't object to being exact. And I >> think we need context tracking to treat user mode as quiescent, so >> they're at least related. > >

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: > On Fri, Jul 17, 2015 at 1:12 PM, Paul E. McKenney > wrote: > > On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: > >> On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney > >> wrote: > >> > On Thu, Jul 16, 2015 at

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 1:12 PM, Paul E. McKenney wrote: > On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: >> On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney >> wrote: >> > On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: >> >> On Thu, Jul 16, 2015 at

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: > On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney > wrote: > > On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: > >> On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: > >> > For reasons that mystify

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney wrote: > On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: >> On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: >> > For reasons that mystify me a bit, we currently track context tracking >> > state separately from

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For reasons that mystify me a bit, we currently track context tracking state

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: True. But context tracking wouldn't object to being exact. And I think we

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 1:12 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: On Fri, Jul 17, 2015 at 1:12 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney paul...@linux.vnet.ibm.com

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski wrote: True. But context tracking wouldn't object to being exact. And I think we need context tracking to treat user mode as quiescent, so they're at

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 2:22 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: And please see attached for an in-process LWN article on RCU's requirements. If you get a chance to look it over, I would value any feedback that you might have. Sure. Nice article! I found the add_gp_buggy

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 11:59:18AM -0700, Andy Lutomirski wrote: On Thu, Jul 16, 2015 at 9:49 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Andy Lutomirski
On Fri, Jul 17, 2015 at 3:55 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 01:32:27PM -0700, Andy Lutomirski

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-17 Thread Paul E. McKenney
On Fri, Jul 17, 2015 at 04:20:57PM -0700, Andy Lutomirski wrote: On Fri, Jul 17, 2015 at 3:55 PM, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Fri, Jul 17, 2015 at 03:13:36PM -0700, Andy Lutomirski wrote: On Fri, Jul 17, 2015 at 2:19 PM, Paul E. McKenney paul...@linux.vnet.ibm.com

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Paul E. McKenney
On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: > On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: > > For reasons that mystify me a bit, we currently track context tracking > > state separately from rcu's watching state. This results in strange > > artifacts:

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Paul E. McKenney
On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: > For reasons that mystify me a bit, we currently track context tracking > state separately from rcu's watching state. This results in strange > artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we > can nest

Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Andy Lutomirski
For reasons that mystify me a bit, we currently track context tracking state separately from rcu's watching state. This results in strange artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we can nest exceptions inside the IRQ handler (an example would be wrmsr_safe failing),

Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Andy Lutomirski
For reasons that mystify me a bit, we currently track context tracking state separately from rcu's watching state. This results in strange artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we can nest exceptions inside the IRQ handler (an example would be wrmsr_safe failing),

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Paul E. McKenney
On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For reasons that mystify me a bit, we currently track context tracking state separately from rcu's watching state. This results in strange artifacts: nothing generic cause IRQs to enter CONTEXT_KERNEL, and we can nest exceptions

Re: Reconciling rcu_irq_enter()/rcu_nmi_enter() with context tracking

2015-07-16 Thread Paul E. McKenney
On Thu, Jul 16, 2015 at 09:29:07PM -0700, Paul E. McKenney wrote: On Thu, Jul 16, 2015 at 06:53:15PM -0700, Andy Lutomirski wrote: For reasons that mystify me a bit, we currently track context tracking state separately from rcu's watching state. This results in strange artifacts: nothing