On (19/11/20 17:13), Petr Mladek wrote: [..] > It is the first time that I hear about problem caused by the > irq_work(). But we deal with deadlocks caused by wake_up() for years. > It would be like replacing a lightly dripping tap with a heavily > dripping one. > > I see reports with WARN() from scheduler code from time to time. > I would get reports about silent death instead. Just curious, how many of those WARN() come under rq lock or pi_lock? // this is real question > RT guys are going to make printk() fully lockless. It would be > really great achievement. irq_work is lockless. While wake_up() > is not. > > There must be a better way how to break the infinite loop caused > by the irq_work. A lockless wake_up() would do :) -ss