* Re: [PATCH 2/6] irq_work: Implement remote queueing [not found] ` <1402413309-3415-3-git-send-email-fweisbec@gmail.com> @ 2014-06-24 20:33 ` Stephen Warren 2014-06-24 20:35 ` Stephen Warren 2014-06-25 5:12 ` Peter Zijlstra 0 siblings, 2 replies; 18+ messages in thread From: Stephen Warren @ 2014-06-24 20:33 UTC (permalink / raw) To: Frederic Weisbecker Cc: LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Peter Zijlstra, Thomas Gleixner, Viresh Kumar, Srivatsa S. Bhat, linux-next@vger.kernel.org On 06/10/2014 09:15 AM, Frederic Weisbecker wrote: > irq work currently only supports local callbacks. However its code > is mostly ready to run remote callbacks and we have some potential user. > > The full nohz subsystem currently open codes its own remote irq work > on top of the scheduler ipi when it wants a CPU to reevaluate its next > tick. However this ad hoc solution bloats the scheduler IPI. > > Lets just extend the irq work subsystem to support remote queuing on top > of the generic SMP IPI to handle this kind of user. This shouldn't add > noticeable overhead. I'm running next-20140624 on an ARM system, and this patch causes CPU hot(un)plug to Oops for me; the following fires: void irq_work_run(void) { BUG_ON(!in_irq()); I found that Linus's master (8b8f5d971584 "Merge tag 'compress-3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core") works fine. I found that this commit inside the tip(?) tree works fine (478850160636 "irq_work: Implement remote queueing"). However, if I merge the two together, I hit that BUG_ON. I think the issue is: This commit adds a call from generic_smp_call_function_single_interrupt() to irq_work_run(). Srivatsa's patch adds a call from hotplug_cfd() to flush_smp_call_function_queue() to, which I imagine happens in non-interrupt context. Note that this patch moves most of the body of generic_smp_call_function_single_interrupt() into flush_smp_call_function_queue(). ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-24 20:33 ` [PATCH 2/6] irq_work: Implement remote queueing Stephen Warren @ 2014-06-24 20:35 ` Stephen Warren 2014-06-25 5:12 ` Peter Zijlstra 1 sibling, 0 replies; 18+ messages in thread From: Stephen Warren @ 2014-06-24 20:35 UTC (permalink / raw) To: Frederic Weisbecker Cc: LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Peter Zijlstra, Thomas Gleixner, Viresh Kumar, Srivatsa S. Bhat, linux-next@vger.kernel.org On 06/24/2014 02:33 PM, Stephen Warren wrote: > On 06/10/2014 09:15 AM, Frederic Weisbecker wrote: >> irq work currently only supports local callbacks. However its code >> is mostly ready to run remote callbacks and we have some potential user. >> >> The full nohz subsystem currently open codes its own remote irq work >> on top of the scheduler ipi when it wants a CPU to reevaluate its next >> tick. However this ad hoc solution bloats the scheduler IPI. >> >> Lets just extend the irq work subsystem to support remote queuing on top >> of the generic SMP IPI to handle this kind of user. This shouldn't add >> noticeable overhead. > > I'm running next-20140624 on an ARM system, and this patch causes CPU > hot(un)plug to Oops for me; the following fires: > > void irq_work_run(void) > { > BUG_ON(!in_irq()); > > I found that Linus's master (8b8f5d971584 "Merge tag 'compress-3.16-rc3' > of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core") > works fine. I found that this commit inside the tip(?) tree works fine > (478850160636 "irq_work: Implement remote queueing"). However, if I > merge the two together, I hit that BUG_ON. I forgot to mention that the conflicting commit from Linus' tree is 8d056c48e486 "CPU hotplug, smp: flush any pending IPI callbacks before CPU offline". > I think the issue is: > > This commit adds a call from > generic_smp_call_function_single_interrupt() to irq_work_run(). > > Srivatsa's patch adds a call from hotplug_cfd() to > flush_smp_call_function_queue() to, which I imagine happens in > non-interrupt context. Note that this patch moves most of the body of > generic_smp_call_function_single_interrupt() into > flush_smp_call_function_queue(). ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-24 20:33 ` [PATCH 2/6] irq_work: Implement remote queueing Stephen Warren 2014-06-24 20:35 ` Stephen Warren @ 2014-06-25 5:12 ` Peter Zijlstra 2014-06-25 5:17 ` Peter Zijlstra 1 sibling, 1 reply; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 5:12 UTC (permalink / raw) To: Stephen Warren Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, Srivatsa S. Bhat, linux-next@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 1695 bytes --] On Tue, Jun 24, 2014 at 02:33:41PM -0600, Stephen Warren wrote: > On 06/10/2014 09:15 AM, Frederic Weisbecker wrote: > > irq work currently only supports local callbacks. However its code > > is mostly ready to run remote callbacks and we have some potential user. > > > > The full nohz subsystem currently open codes its own remote irq work > > on top of the scheduler ipi when it wants a CPU to reevaluate its next > > tick. However this ad hoc solution bloats the scheduler IPI. > > > > Lets just extend the irq work subsystem to support remote queuing on top > > of the generic SMP IPI to handle this kind of user. This shouldn't add > > noticeable overhead. > > I'm running next-20140624 on an ARM system, and this patch causes CPU > hot(un)plug to Oops for me; the following fires: > > void irq_work_run(void) > { > BUG_ON(!in_irq()); > > I found that Linus's master (8b8f5d971584 "Merge tag 'compress-3.16-rc3' > of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core") > works fine. I found that this commit inside the tip(?) tree works fine > (478850160636 "irq_work: Implement remote queueing"). However, if I > merge the two together, I hit that BUG_ON. > > I think the issue is: > > This commit adds a call from > generic_smp_call_function_single_interrupt() to irq_work_run(). > > Srivatsa's patch adds a call from hotplug_cfd() to > flush_smp_call_function_queue() to, which I imagine happens in > non-interrupt context. Note that this patch moves most of the body of > generic_smp_call_function_single_interrupt() into > flush_smp_call_function_queue(). Right you are.. I think I'll just remove the BUG_ON(), Frederic? [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 5:12 ` Peter Zijlstra @ 2014-06-25 5:17 ` Peter Zijlstra 2014-06-25 6:37 ` Srivatsa S. Bhat 0 siblings, 1 reply; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 5:17 UTC (permalink / raw) To: Stephen Warren Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, Srivatsa S. Bhat, linux-next@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 2720 bytes --] On Wed, Jun 25, 2014 at 07:12:34AM +0200, Peter Zijlstra wrote: > On Tue, Jun 24, 2014 at 02:33:41PM -0600, Stephen Warren wrote: > > On 06/10/2014 09:15 AM, Frederic Weisbecker wrote: > > > irq work currently only supports local callbacks. However its code > > > is mostly ready to run remote callbacks and we have some potential user. > > > > > > The full nohz subsystem currently open codes its own remote irq work > > > on top of the scheduler ipi when it wants a CPU to reevaluate its next > > > tick. However this ad hoc solution bloats the scheduler IPI. > > > > > > Lets just extend the irq work subsystem to support remote queuing on top > > > of the generic SMP IPI to handle this kind of user. This shouldn't add > > > noticeable overhead. > > > > I'm running next-20140624 on an ARM system, and this patch causes CPU > > hot(un)plug to Oops for me; the following fires: > > > > void irq_work_run(void) > > { > > BUG_ON(!in_irq()); > > > > I found that Linus's master (8b8f5d971584 "Merge tag 'compress-3.16-rc3' > > of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core") > > works fine. I found that this commit inside the tip(?) tree works fine > > (478850160636 "irq_work: Implement remote queueing"). However, if I > > merge the two together, I hit that BUG_ON. > > > > I think the issue is: > > > > This commit adds a call from > > generic_smp_call_function_single_interrupt() to irq_work_run(). > > > > Srivatsa's patch adds a call from hotplug_cfd() to > > flush_smp_call_function_queue() to, which I imagine happens in > > non-interrupt context. Note that this patch moves most of the body of > > generic_smp_call_function_single_interrupt() into > > flush_smp_call_function_queue(). > > Right you are.. I think I'll just remove the BUG_ON(), Frederic? Something a little so like: --- Subject: irq_work: Remove BUG_ON in irq_work_run_list() From: Peter Zijlstra <peterz@infradead.org> Date: Wed Jun 25 07:13:07 CEST 2014 Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any pending IPI callbacks before CPU offline"), which ends up calling hotplug_cfd()->flush_smp_call_function_queue()->run_irq_work(), which is not from IRQ context. Cc: Frederic Weisbecker <fweisbec@gmail.com> Reported-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> --- kernel/irq_work.c | 2 -- 1 file changed, 2 deletions(-) --- a/kernel/irq_work.c +++ b/kernel/irq_work.c @@ -130,8 +130,6 @@ static void irq_work_run_list(struct lli struct irq_work *work; struct llist_node *llnode; - BUG_ON(!irqs_disabled()); - if (llist_empty(list)) return; [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 5:17 ` Peter Zijlstra @ 2014-06-25 6:37 ` Srivatsa S. Bhat 2014-06-25 9:36 ` Peter Zijlstra 0 siblings, 1 reply; 18+ messages in thread From: Srivatsa S. Bhat @ 2014-06-25 6:37 UTC (permalink / raw) To: Peter Zijlstra, Stephen Warren Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 10:47 AM, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 07:12:34AM +0200, Peter Zijlstra wrote: >> On Tue, Jun 24, 2014 at 02:33:41PM -0600, Stephen Warren wrote: >>> On 06/10/2014 09:15 AM, Frederic Weisbecker wrote: >>>> irq work currently only supports local callbacks. However its code >>>> is mostly ready to run remote callbacks and we have some potential user. [...] >> Right you are.. I think I'll just remove the BUG_ON(), Frederic? > > Something a little so like: > > --- > Subject: irq_work: Remove BUG_ON in irq_work_run_list() I think this should be irq_work_run(), see below... > From: Peter Zijlstra <peterz@infradead.org> > Date: Wed Jun 25 07:13:07 CEST 2014 > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > pending IPI callbacks before CPU offline"), which ends up calling > hotplug_cfd()->flush_smp_call_function_queue()->run_irq_work(), which s/run_irq_work/irq_work_run > is not from IRQ context. > > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Reported-by: Stephen Warren <swarren@wwwdotorg.org> > Signed-off-by: Peter Zijlstra <peterz@infradead.org> > --- > kernel/irq_work.c | 2 -- > 1 file changed, 2 deletions(-) > > --- a/kernel/irq_work.c > +++ b/kernel/irq_work.c > @@ -130,8 +130,6 @@ static void irq_work_run_list(struct lli > struct irq_work *work; > struct llist_node *llnode; > > - BUG_ON(!irqs_disabled()); > - I don't think irqs_disabled() is the problematic condition, since hotplug_cfg() invokes irq_work_run() from CPU_DYING context (which has irqs disabled). I guess you meant to remove the in_irq() check inside irq_work_run() instead? Regards, Srivatsa S. Bhat > if (llist_empty(list)) > return; > > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 6:37 ` Srivatsa S. Bhat @ 2014-06-25 9:36 ` Peter Zijlstra 2014-06-25 9:39 ` Peter Zijlstra 0 siblings, 1 reply; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 9:36 UTC (permalink / raw) To: Srivatsa S. Bhat Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 12:07:05PM +0530, Srivatsa S. Bhat wrote: > I don't think irqs_disabled() is the problematic condition, since > hotplug_cfg() invokes irq_work_run() from CPU_DYING context (which has > irqs disabled). I guess you meant to remove the in_irq() check inside > irq_work_run() instead? Yes, clearly I should not get up at 6am.. :-) Let me go do a new one. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 9:36 ` Peter Zijlstra @ 2014-06-25 9:39 ` Peter Zijlstra 2014-06-25 9:50 ` Srivatsa S. Bhat 0 siblings, 1 reply; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 9:39 UTC (permalink / raw) To: Srivatsa S. Bhat Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 11:36:57AM +0200, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 12:07:05PM +0530, Srivatsa S. Bhat wrote: > > I don't think irqs_disabled() is the problematic condition, since > > hotplug_cfg() invokes irq_work_run() from CPU_DYING context (which has > > irqs disabled). I guess you meant to remove the in_irq() check inside > > irq_work_run() instead? > > Yes, clearly I should not get up at 6am.. :-) Let me go do a new one. --- Subject: irq_work: Remove BUG_ON in irq_work_run() From: Peter Zijlstra <peterz@infradead.org> Date: Wed Jun 25 07:13:07 CEST 2014 Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any pending IPI callbacks before CPU offline"), which ends up calling hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which is not from IRQ context. Cc: Frederic Weisbecker <fweisbec@gmail.com> Reported-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-busatzs2gvz4v62258agipuf@git.kernel.org --- kernel/irq_work.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) Index: linux-2.6/kernel/irq_work.c =================================================================== --- linux-2.6.orig/kernel/irq_work.c +++ linux-2.6/kernel/irq_work.c @@ -160,21 +160,11 @@ static void irq_work_run_list(struct lli } } -static void __irq_work_run(void) +static void irq_work_run(void) { irq_work_run_list(&__get_cpu_var(raised_list)); irq_work_run_list(&__get_cpu_var(lazy_list)); } - -/* - * Run the irq_work entries on this cpu. Requires to be ran from hardirq - * context with local IRQs disabled. - */ -void irq_work_run(void) -{ - BUG_ON(!in_irq()); - __irq_work_run(); -} EXPORT_SYMBOL_GPL(irq_work_run); /* ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 9:39 ` Peter Zijlstra @ 2014-06-25 9:50 ` Srivatsa S. Bhat 2014-06-25 9:54 ` Srivatsa S. Bhat 0 siblings, 1 reply; 18+ messages in thread From: Srivatsa S. Bhat @ 2014-06-25 9:50 UTC (permalink / raw) To: Peter Zijlstra Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 03:09 PM, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 11:36:57AM +0200, Peter Zijlstra wrote: >> On Wed, Jun 25, 2014 at 12:07:05PM +0530, Srivatsa S. Bhat wrote: >>> I don't think irqs_disabled() is the problematic condition, since >>> hotplug_cfg() invokes irq_work_run() from CPU_DYING context (which has >>> irqs disabled). I guess you meant to remove the in_irq() check inside >>> irq_work_run() instead? >> >> Yes, clearly I should not get up at 6am.. :-) Let me go do a new one. > > --- > Subject: irq_work: Remove BUG_ON in irq_work_run() > From: Peter Zijlstra <peterz@infradead.org> > Date: Wed Jun 25 07:13:07 CEST 2014 > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > pending IPI callbacks before CPU offline"), which ends up calling > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which > is not from IRQ context. > > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Reported-by: Stephen Warren <swarren@wwwdotorg.org> > Signed-off-by: Peter Zijlstra <peterz@infradead.org> > Link: http://lkml.kernel.org/n/tip-busatzs2gvz4v62258agipuf@git.kernel.org > --- > kernel/irq_work.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > Index: linux-2.6/kernel/irq_work.c > =================================================================== > --- linux-2.6.orig/kernel/irq_work.c > +++ linux-2.6/kernel/irq_work.c > @@ -160,21 +160,11 @@ static void irq_work_run_list(struct lli > } > } > > -static void __irq_work_run(void) Hmm, irq_work_cpu_notify() calls __irq_work_run() in the CPU_DYING phase, to by-pass BUG_ON(!in_irq()). How about doing the same thing from hotplug_cfd() as well? > +static void irq_work_run(void) > { > irq_work_run_list(&__get_cpu_var(raised_list)); > irq_work_run_list(&__get_cpu_var(lazy_list)); > } > - > -/* > - * Run the irq_work entries on this cpu. Requires to be ran from hardirq > - * context with local IRQs disabled. > - */ > -void irq_work_run(void) > -{ > - BUG_ON(!in_irq()); > - __irq_work_run(); > -} > EXPORT_SYMBOL_GPL(irq_work_run); > > /* > Regards, Srivatsa S. Bhat ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 9:50 ` Srivatsa S. Bhat @ 2014-06-25 9:54 ` Srivatsa S. Bhat 2014-06-25 10:19 ` Peter Zijlstra 0 siblings, 1 reply; 18+ messages in thread From: Srivatsa S. Bhat @ 2014-06-25 9:54 UTC (permalink / raw) To: Peter Zijlstra Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 03:20 PM, Srivatsa S. Bhat wrote: > On 06/25/2014 03:09 PM, Peter Zijlstra wrote: >> On Wed, Jun 25, 2014 at 11:36:57AM +0200, Peter Zijlstra wrote: >>> On Wed, Jun 25, 2014 at 12:07:05PM +0530, Srivatsa S. Bhat wrote: >>>> I don't think irqs_disabled() is the problematic condition, since >>>> hotplug_cfg() invokes irq_work_run() from CPU_DYING context (which has >>>> irqs disabled). I guess you meant to remove the in_irq() check inside >>>> irq_work_run() instead? >>> >>> Yes, clearly I should not get up at 6am.. :-) Let me go do a new one. >> >> --- >> Subject: irq_work: Remove BUG_ON in irq_work_run() >> From: Peter Zijlstra <peterz@infradead.org> >> Date: Wed Jun 25 07:13:07 CEST 2014 >> >> Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any >> pending IPI callbacks before CPU offline"), which ends up calling >> hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which >> is not from IRQ context. >> >> Cc: Frederic Weisbecker <fweisbec@gmail.com> >> Reported-by: Stephen Warren <swarren@wwwdotorg.org> >> Signed-off-by: Peter Zijlstra <peterz@infradead.org> >> Link: http://lkml.kernel.org/n/tip-busatzs2gvz4v62258agipuf@git.kernel.org >> --- >> kernel/irq_work.c | 12 +----------- >> 1 file changed, 1 insertion(+), 11 deletions(-) >> >> Index: linux-2.6/kernel/irq_work.c >> =================================================================== >> --- linux-2.6.orig/kernel/irq_work.c >> +++ linux-2.6/kernel/irq_work.c >> @@ -160,21 +160,11 @@ static void irq_work_run_list(struct lli >> } >> } >> >> -static void __irq_work_run(void) > > Hmm, irq_work_cpu_notify() calls __irq_work_run() in the CPU_DYING > phase, to by-pass BUG_ON(!in_irq()). How about doing the same thing > from hotplug_cfd() as well? > Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() doesn't need to invoke it again, AFAIU. So perhaps we can get rid of irq_work_cpu_notify() altogether? Regards, Srivatsa S. Bhat >> +static void irq_work_run(void) >> { >> irq_work_run_list(&__get_cpu_var(raised_list)); >> irq_work_run_list(&__get_cpu_var(lazy_list)); >> } >> - >> -/* >> - * Run the irq_work entries on this cpu. Requires to be ran from hardirq >> - * context with local IRQs disabled. >> - */ >> -void irq_work_run(void) >> -{ >> - BUG_ON(!in_irq()); >> - __irq_work_run(); >> -} >> EXPORT_SYMBOL_GPL(irq_work_run); >> >> /* >> > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 9:54 ` Srivatsa S. Bhat @ 2014-06-25 10:19 ` Peter Zijlstra 2014-06-25 10:57 ` Srivatsa S. Bhat 2014-06-25 16:23 ` Stephen Warren 0 siblings, 2 replies; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 10:19 UTC (permalink / raw) To: Srivatsa S. Bhat Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: > Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run > indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() > doesn't need to invoke it again, AFAIU. So perhaps we can get rid of > irq_work_cpu_notify() altogether? Just so... getting up at 6am and sitting in an airport terminal doesn't seem to agree with me; any more silly fail here? --- Subject: irq_work: Remove BUG_ON in irq_work_run() From: Peter Zijlstra <peterz@infradead.org> Date: Wed Jun 25 07:13:07 CEST 2014 Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any pending IPI callbacks before CPU offline"), which ends up calling hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which is not from IRQ context. And since that already calls irq_work_run() from the hotplug path, remove our entire hotplug handling. Cc: Frederic Weisbecker <fweisbec@gmail.com> Reported-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-busatzs2gvz4v62258agipuf@git.kernel.org --- kernel/irq_work.c | 48 +++++------------------------------------------- 1 file changed, 5 insertions(+), 43 deletions(-) Index: linux-2.6/kernel/irq_work.c =================================================================== --- linux-2.6.orig/kernel/irq_work.c +++ linux-2.6/kernel/irq_work.c @@ -160,20 +160,14 @@ static void irq_work_run_list(struct lli } } -static void __irq_work_run(void) -{ - irq_work_run_list(&__get_cpu_var(raised_list)); - irq_work_run_list(&__get_cpu_var(lazy_list)); -} - /* - * Run the irq_work entries on this cpu. Requires to be ran from hardirq - * context with local IRQs disabled. + * hotplug calls this through: + * hotplug_cfs() -> flush_smp_call_function_queue() */ -void irq_work_run(void) +static void irq_work_run(void) { - BUG_ON(!in_irq()); - __irq_work_run(); + irq_work_run_list(&__get_cpu_var(raised_list)); + irq_work_run_list(&__get_cpu_var(lazy_list)); } EXPORT_SYMBOL_GPL(irq_work_run); @@ -189,35 +183,3 @@ void irq_work_sync(struct irq_work *work cpu_relax(); } EXPORT_SYMBOL_GPL(irq_work_sync); - -#ifdef CONFIG_HOTPLUG_CPU -static int irq_work_cpu_notify(struct notifier_block *self, - unsigned long action, void *hcpu) -{ - long cpu = (long)hcpu; - - switch (action) { - case CPU_DYING: - /* Called from stop_machine */ - if (WARN_ON_ONCE(cpu != smp_processor_id())) - break; - __irq_work_run(); - break; - default: - break; - } - return NOTIFY_OK; -} - -static struct notifier_block cpu_notify; - -static __init int irq_work_init_cpu_notifier(void) -{ - cpu_notify.notifier_call = irq_work_cpu_notify; - cpu_notify.priority = 0; - register_cpu_notifier(&cpu_notify); - return 0; -} -device_initcall(irq_work_init_cpu_notifier); - -#endif /* CONFIG_HOTPLUG_CPU */ ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 10:19 ` Peter Zijlstra @ 2014-06-25 10:57 ` Srivatsa S. Bhat 2014-06-25 16:23 ` Stephen Warren 1 sibling, 0 replies; 18+ messages in thread From: Srivatsa S. Bhat @ 2014-06-25 10:57 UTC (permalink / raw) To: Peter Zijlstra Cc: Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 03:49 PM, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: >> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run >> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() >> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of >> irq_work_cpu_notify() altogether? > > Just so... > > getting up at 6am and sitting in an airport terminal doesn't seem to > agree with me; Haha :-) > any more silly fail here? > A few minor nits below.. > --- > Subject: irq_work: Remove BUG_ON in irq_work_run() > From: Peter Zijlstra <peterz@infradead.org> > Date: Wed Jun 25 07:13:07 CEST 2014 > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > pending IPI callbacks before CPU offline"), which ends up calling > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which > is not from IRQ context. > > And since that already calls irq_work_run() from the hotplug path, > remove our entire hotplug handling. > > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Reported-by: Stephen Warren <swarren@wwwdotorg.org> > Signed-off-by: Peter Zijlstra <peterz@infradead.org> > Link: http://lkml.kernel.org/n/tip-busatzs2gvz4v62258agipuf@git.kernel.org > --- > kernel/irq_work.c | 48 +++++------------------------------------------- > 1 file changed, 5 insertions(+), 43 deletions(-) > > Index: linux-2.6/kernel/irq_work.c > =================================================================== > --- linux-2.6.orig/kernel/irq_work.c > +++ linux-2.6/kernel/irq_work.c > @@ -160,20 +160,14 @@ static void irq_work_run_list(struct lli > } > } > > -static void __irq_work_run(void) > -{ > - irq_work_run_list(&__get_cpu_var(raised_list)); > - irq_work_run_list(&__get_cpu_var(lazy_list)); > -} > - > /* > - * Run the irq_work entries on this cpu. Requires to be ran from hardirq > - * context with local IRQs disabled. > + * hotplug calls this through: > + * hotplug_cfs() -> flush_smp_call_function_queue() s/hotplug_cfs/hotplug_cfd > */ > -void irq_work_run(void) > +static void irq_work_run(void) s/static// > { > - BUG_ON(!in_irq()); > - __irq_work_run(); > + irq_work_run_list(&__get_cpu_var(raised_list)); > + irq_work_run_list(&__get_cpu_var(lazy_list)); > } > EXPORT_SYMBOL_GPL(irq_work_run); With those 2 changes, everything looks good to me. Regards, Srivatsa S. Bhat ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 10:19 ` Peter Zijlstra 2014-06-25 10:57 ` Srivatsa S. Bhat @ 2014-06-25 16:23 ` Stephen Warren 2014-06-25 16:38 ` Peter Zijlstra 2014-07-01 19:13 ` Stephen Warren 1 sibling, 2 replies; 18+ messages in thread From: Stephen Warren @ 2014-06-25 16:23 UTC (permalink / raw) To: Peter Zijlstra, Srivatsa S. Bhat Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 04:19 AM, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: >> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run >> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() >> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of >> irq_work_cpu_notify() altogether? > > Just so... > > getting up at 6am and sitting in an airport terminal doesn't seem to > agree with me; any more silly fail here? > > --- > Subject: irq_work: Remove BUG_ON in irq_work_run() > From: Peter Zijlstra <peterz@infradead.org> > Date: Wed Jun 25 07:13:07 CEST 2014 > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > pending IPI callbacks before CPU offline"), which ends up calling > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which > is not from IRQ context. > > And since that already calls irq_work_run() from the hotplug path, > remove our entire hotplug handling. Tested-by: Stephen Warren <swarren@nvidia.com> [with the s/static// already mentioned in this thread, obviously:-)] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:23 ` Stephen Warren @ 2014-06-25 16:38 ` Peter Zijlstra 2014-06-25 16:57 ` Srivatsa S. Bhat ` (2 more replies) 2014-07-01 19:13 ` Stephen Warren 1 sibling, 3 replies; 18+ messages in thread From: Peter Zijlstra @ 2014-06-25 16:38 UTC (permalink / raw) To: Stephen Warren Cc: Srivatsa S. Bhat, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 10:23:21AM -0600, Stephen Warren wrote: > On 06/25/2014 04:19 AM, Peter Zijlstra wrote: > > On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: > >> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run > >> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() > >> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of > >> irq_work_cpu_notify() altogether? > > > > Just so... > > > > getting up at 6am and sitting in an airport terminal doesn't seem to > > agree with me; any more silly fail here? > > > > --- > > Subject: irq_work: Remove BUG_ON in irq_work_run() > > From: Peter Zijlstra <peterz@infradead.org> > > Date: Wed Jun 25 07:13:07 CEST 2014 > > > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > > pending IPI callbacks before CPU offline"), which ends up calling > > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which > > is not from IRQ context. > > > > And since that already calls irq_work_run() from the hotplug path, > > remove our entire hotplug handling. > > Tested-by: Stephen Warren <swarren@nvidia.com> > > [with the s/static// already mentioned in this thread, obviously:-)] Right; I pushed out a fixed version right before loosing my tubes at the airport :-) https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git/commit/?h=timers/nohz&id=921d8b81281ecdca686369f52165d04fa3505bd7 I've not gotten wu build bot spam on it so it must be good ;-) In any case, I'll add your tested-by and update later this evening. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:38 ` Peter Zijlstra @ 2014-06-25 16:57 ` Srivatsa S. Bhat 2014-06-28 18:19 ` Borislav Petkov 2014-07-03 14:52 ` Frederic Weisbecker 2014-07-04 5:10 ` Sachin Kamat 2 siblings, 1 reply; 18+ messages in thread From: Srivatsa S. Bhat @ 2014-06-25 16:57 UTC (permalink / raw) To: Peter Zijlstra, Stephen Warren Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 10:08 PM, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 10:23:21AM -0600, Stephen Warren wrote: >> On 06/25/2014 04:19 AM, Peter Zijlstra wrote: >>> On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: >>>> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run >>>> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() >>>> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of >>>> irq_work_cpu_notify() altogether? >>> >>> Just so... >>> >>> getting up at 6am and sitting in an airport terminal doesn't seem to >>> agree with me; any more silly fail here? >>> >>> --- >>> Subject: irq_work: Remove BUG_ON in irq_work_run() >>> From: Peter Zijlstra <peterz@infradead.org> >>> Date: Wed Jun 25 07:13:07 CEST 2014 >>> >>> Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any >>> pending IPI callbacks before CPU offline"), which ends up calling >>> hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which >>> is not from IRQ context. >>> >>> And since that already calls irq_work_run() from the hotplug path, >>> remove our entire hotplug handling. >> >> Tested-by: Stephen Warren <swarren@nvidia.com> >> >> [with the s/static// already mentioned in this thread, obviously:-)] > > Right; I pushed out a fixed version right before loosing my tubes at the > airport :-) > > https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git/commit/?h=timers/nohz&id=921d8b81281ecdca686369f52165d04fa3505bd7 > This version looks good. Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Regards, Srivatsa S. Bhat > I've not gotten wu build bot spam on it so it must be good ;-) > > In any case, I'll add your tested-by and update later this evening. > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:57 ` Srivatsa S. Bhat @ 2014-06-28 18:19 ` Borislav Petkov 0 siblings, 0 replies; 18+ messages in thread From: Borislav Petkov @ 2014-06-28 18:19 UTC (permalink / raw) To: Peter Zijlstra Cc: Srivatsa S. Bhat, Stephen Warren, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 10:27:24PM +0530, Srivatsa S. Bhat wrote: > > https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git/commit/?h=timers/nohz&id=921d8b81281ecdca686369f52165d04fa3505bd7 Just hit it here too. Cherry-picking it ontop of latest tip fixes the issue, thanks. Tested-by: Borislav Petkov <bp@suse.de> -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:38 ` Peter Zijlstra 2014-06-25 16:57 ` Srivatsa S. Bhat @ 2014-07-03 14:52 ` Frederic Weisbecker 2014-07-04 5:10 ` Sachin Kamat 2 siblings, 0 replies; 18+ messages in thread From: Frederic Weisbecker @ 2014-07-03 14:52 UTC (permalink / raw) To: Peter Zijlstra Cc: Stephen Warren, Srivatsa S. Bhat, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 06:38:20PM +0200, Peter Zijlstra wrote: > On Wed, Jun 25, 2014 at 10:23:21AM -0600, Stephen Warren wrote: > > On 06/25/2014 04:19 AM, Peter Zijlstra wrote: > > > On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: > > >> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run > > >> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() > > >> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of > > >> irq_work_cpu_notify() altogether? > > > > > > Just so... > > > > > > getting up at 6am and sitting in an airport terminal doesn't seem to > > > agree with me; any more silly fail here? > > > > > > --- > > > Subject: irq_work: Remove BUG_ON in irq_work_run() > > > From: Peter Zijlstra <peterz@infradead.org> > > > Date: Wed Jun 25 07:13:07 CEST 2014 > > > > > > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any > > > pending IPI callbacks before CPU offline"), which ends up calling > > > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which > > > is not from IRQ context. > > > > > > And since that already calls irq_work_run() from the hotplug path, > > > remove our entire hotplug handling. > > > > Tested-by: Stephen Warren <swarren@nvidia.com> > > > > [with the s/static// already mentioned in this thread, obviously:-)] > > Right; I pushed out a fixed version right before loosing my tubes at the > airport :-) > > https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git/commit/?h=timers/nohz&id=921d8b81281ecdca686369f52165d04fa3505bd7 > > I've not gotten wu build bot spam on it so it must be good ;-) > > In any case, I'll add your tested-by and update later this evening. Ack! Thanks for fixing this. In case you're AFK, do you need any help for pushing the patch or so? ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:38 ` Peter Zijlstra 2014-06-25 16:57 ` Srivatsa S. Bhat 2014-07-03 14:52 ` Frederic Weisbecker @ 2014-07-04 5:10 ` Sachin Kamat 2 siblings, 0 replies; 18+ messages in thread From: Sachin Kamat @ 2014-07-04 5:10 UTC (permalink / raw) To: Peter Zijlstra Cc: Stephen Warren, Srivatsa S. Bhat, Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On Wed, Jun 25, 2014 at 10:08 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Wed, Jun 25, 2014 at 10:23:21AM -0600, Stephen Warren wrote: >> On 06/25/2014 04:19 AM, Peter Zijlstra wrote: >> > On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: >> >> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run >> >> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() >> >> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of >> >> irq_work_cpu_notify() altogether? >> > >> > Just so... >> > >> > getting up at 6am and sitting in an airport terminal doesn't seem to >> > agree with me; any more silly fail here? >> > >> > --- >> > Subject: irq_work: Remove BUG_ON in irq_work_run() >> > From: Peter Zijlstra <peterz@infradead.org> >> > Date: Wed Jun 25 07:13:07 CEST 2014 >> > >> > Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any >> > pending IPI callbacks before CPU offline"), which ends up calling >> > hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which >> > is not from IRQ context. >> > >> > And since that already calls irq_work_run() from the hotplug path, >> > remove our entire hotplug handling. >> >> Tested-by: Stephen Warren <swarren@nvidia.com> >> >> [with the s/static// already mentioned in this thread, obviously:-)] > > Right; I pushed out a fixed version right before loosing my tubes at the > airport :-) > > https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git/commit/?h=timers/nohz&id=921d8b81281ecdca686369f52165d04fa3505bd7 This patch fixes boot issue on Exynos5420/5800 based boards with bL switcher enabled. FWIW, Tested-by: Sachin Kamat <sachin.kamat@samsung.com> -- Regards, Sachin. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] irq_work: Implement remote queueing 2014-06-25 16:23 ` Stephen Warren 2014-06-25 16:38 ` Peter Zijlstra @ 2014-07-01 19:13 ` Stephen Warren 1 sibling, 0 replies; 18+ messages in thread From: Stephen Warren @ 2014-07-01 19:13 UTC (permalink / raw) To: Peter Zijlstra, Srivatsa S. Bhat Cc: Frederic Weisbecker, LKML, Andrew Morton, Eric Dumazet, Ingo Molnar, Kevin Hilman, Paul E. McKenney, Thomas Gleixner, Viresh Kumar, linux-next@vger.kernel.org On 06/25/2014 10:23 AM, Stephen Warren wrote: > On 06/25/2014 04:19 AM, Peter Zijlstra wrote: >> On Wed, Jun 25, 2014 at 03:24:11PM +0530, Srivatsa S. Bhat wrote: >>> Wait, that was a stupid idea. hotplug_cfd() already invokes irq_work_run >>> indirectly via flush_smp_call_function_queue(). So irq_work_cpu_notify() >>> doesn't need to invoke it again, AFAIU. So perhaps we can get rid of >>> irq_work_cpu_notify() altogether? >> >> Just so... >> >> getting up at 6am and sitting in an airport terminal doesn't seem to >> agree with me; any more silly fail here? >> >> --- >> Subject: irq_work: Remove BUG_ON in irq_work_run() >> From: Peter Zijlstra <peterz@infradead.org> >> Date: Wed Jun 25 07:13:07 CEST 2014 >> >> Because of a collision with 8d056c48e486 ("CPU hotplug, smp: flush any >> pending IPI callbacks before CPU offline"), which ends up calling >> hotplug_cfd()->flush_smp_call_function_queue()->irq_work_run(), which >> is not from IRQ context. >> >> And since that already calls irq_work_run() from the hotplug path, >> remove our entire hotplug handling. > > Tested-by: Stephen Warren <swarren@nvidia.com> > > [with the s/static// already mentioned in this thread, obviously:-)] next-20140701 still seems to fail CPU hotplug. I assume this patch hasn't yet been applied for some reason? ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2014-07-04 5:10 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1402413309-3415-1-git-send-email-fweisbec@gmail.com>
[not found] ` <1402413309-3415-3-git-send-email-fweisbec@gmail.com>
2014-06-24 20:33 ` [PATCH 2/6] irq_work: Implement remote queueing Stephen Warren
2014-06-24 20:35 ` Stephen Warren
2014-06-25 5:12 ` Peter Zijlstra
2014-06-25 5:17 ` Peter Zijlstra
2014-06-25 6:37 ` Srivatsa S. Bhat
2014-06-25 9:36 ` Peter Zijlstra
2014-06-25 9:39 ` Peter Zijlstra
2014-06-25 9:50 ` Srivatsa S. Bhat
2014-06-25 9:54 ` Srivatsa S. Bhat
2014-06-25 10:19 ` Peter Zijlstra
2014-06-25 10:57 ` Srivatsa S. Bhat
2014-06-25 16:23 ` Stephen Warren
2014-06-25 16:38 ` Peter Zijlstra
2014-06-25 16:57 ` Srivatsa S. Bhat
2014-06-28 18:19 ` Borislav Petkov
2014-07-03 14:52 ` Frederic Weisbecker
2014-07-04 5:10 ` Sachin Kamat
2014-07-01 19:13 ` Stephen Warren
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).