Re: Re: [PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread Thomas Gleixner
On Thu, 18 Jul 2019, Peter Zijlstra wrote: > On Thu, Jul 18, 2019 at 11:58:47AM +0200, Thomas Gleixner wrote: > > As we discussed on IRC, it is worse, we can only use these functions > from task/process context. We need something like the below. Indeed that's better defined. Thanks, tgl

Re: Re: [PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread Peter Zijlstra
On Thu, Jul 18, 2019 at 11:58:47AM +0200, Thomas Gleixner wrote: > Subject: smp: Warn on function calls from softirq context > From: Thomas Gleixner > Date: Thu, 18 Jul 2019 11:20:09 +0200 > > It's clearly documented that smp function calls cannot be invoked from > softirq handling context. Unfor

Re:Re: [PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread Thomas Gleixner
On Thu, 18 Jul 2019, luferry wrote: > At 2019-07-18 16:07:58, "Thomas Gleixner" wrote: > >On Thu, 18 Jul 2019, lufe...@163.com wrote: > > > >> From: luferry > >> > >> The race can reproduced by sending wait enabled IPI in softirq/irq env > > > >Which code path is doing that? > > I checked kernel

Re:Re: [PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread luferry
At 2019-07-18 16:07:58, "Thomas Gleixner" wrote: >On Thu, 18 Jul 2019, lufe...@163.com wrote: > >> From: luferry >> >> The race can reproduced by sending wait enabled IPI in softirq/irq env > >Which code path is doing that? > >Thanks, > > tglx Thanks for your kindly reply. I che

Re: [PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread Thomas Gleixner
On Thu, 18 Jul 2019, lufe...@163.com wrote: > From: luferry > > The race can reproduced by sending wait enabled IPI in softirq/irq env Which code path is doing that? Thanks, tglx

[PATCH v2] smp: avoid generic_exec_single cause system lockup

2019-07-18 Thread luferry
From: luferry The race can reproduced by sending wait enabled IPI in softirq/irq env src cpu only send ipi when dst cpu with queue empty, if interrupts disturbed between llist_add and send_ipi. Interrupt handler may raise softirq.In irq env, if src cpu try send_ipi to same dst cpu with wait enab