Re: [OSADL QA 3.18.9-rt5 #1]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 10 Apr 2015 14:36:34 +0200
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote:


> Subject: [PATCH] kernel/irq_work: fix no_hz deadlock
> 
> Invoking NO_HZ's irq_work callback from timer irq is not working very
> well if the callback decides to invoke hrtimer_cancel():
> 
> |hrtimer_try_to_cancel+0x55/0x5f
> |hrtimer_cancel+0x16/0x28
> |tick_nohz_restart+0x17/0x72
> |__tick_nohz_full_check+0x8e/0x93
> |nohz_full_kick_work_func+0xe/0x10
> |irq_work_run_list+0x39/0x57
> |irq_work_tick+0x60/0x67
> |update_process_times+0x57/0x67
> |tick_sched_handle+0x4a/0x59
> |tick_sched_timer+0x3b/0x64
> |__run_hrtimer+0x7a/0x149
> |hrtimer_interrupt+0x1cc/0x2c5
> 
> and here we deadlock while waiting for the lock which we are holding.
> To fix this I'm doing the same thing that upstream is doing: is the
> irq_work dedicated IRQ and use it only for what is marked as "hirq"
> which should only be the FULL_NO_HZ related work.

I'm backporting this to the stable releases, and I'm a bit worried
about the above comment. The new Scheduler IPI code uses work queues and
requires it to be done in a hard irq.

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux