Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-18 Thread Sebastian Andrzej Siewior
* yjin | 2015-11-16 13:26:42 [+0800]: >Could you tell me when will you send your formal patch? And please CC >me when you send your patch. https://git.kernel.org/cgit/linux/kernel/git/rt/linux-rt-devel.git/plain/patches/irqwork-Move-irq-safe-work-to-irq-context.patch?h=linux-4.1.y-rt-patches Seba

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-15 Thread yjin
Hi Thomas, Thanks for your help. I have tested your patch this morning, it seems well. Could you tell me when will you send your formal patch? And please CC me when you send your patch. Regards! Yanjiang On 2015年11月15日 19:05, Thomas Gleixner wrote: On Sun, 15 Nov 2015, Thomas Gleixner wrote:

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-15 Thread Thomas Gleixner
On Sun, 15 Nov 2015, Thomas Gleixner wrote: > Which does not happen on MIPS as it uses the generic > arch_irq_work_has_interrupt() implementation which returns 'false'. So the proper fix is to ensure that the irq safe irq work actually happens in interrupt context. Patch below. Thanks, t

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-15 Thread Thomas Gleixner
On Sun, 15 Nov 2015, Thomas Gleixner wrote: > On Sat, 14 Nov 2015, yjin wrote: > > > > Use raw_spin_{un,}lock_irq{save,restore} in push_irq_work_func() to > > > > prevent following potentially deadlock scenario: > > > Ug. No, the real fix is that the irq work is to be run from hard > > > interrupt

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-15 Thread Thomas Gleixner
On Sat, 14 Nov 2015, yjin wrote: > On 2015年11月14日 12:25, Steven Rostedt wrote: > > On Sat, 14 Nov 2015 10:53:18 +0800 > > wrote: > > > > > From: Yanjiang Jin > > > > > > This can only happen in RT kernel due to run_timer_softirq() calls > > > irq_work_tick() when CONFIG_PREEMPT_RT_FULL is enabl

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-13 Thread yjin
On 2015年11月14日 12:25, Steven Rostedt wrote: On Sat, 14 Nov 2015 10:53:18 +0800 wrote: From: Yanjiang Jin This can only happen in RT kernel due to run_timer_softirq() calls irq_work_tick() when CONFIG_PREEMPT_RT_FULL is enabled as below: static void run_timer_softirq(struct softirq_action *

Re: [RT PATCH] sched: rt: fix two possible deadlocks in push_irq_work_func

2015-11-13 Thread Steven Rostedt
On Sat, 14 Nov 2015 10:53:18 +0800 wrote: > From: Yanjiang Jin > > This can only happen in RT kernel due to run_timer_softirq() calls > irq_work_tick() when CONFIG_PREEMPT_RT_FULL is enabled as below: > > static void run_timer_softirq(struct softirq_action *h) > { > > if defined(CONFI