PM / wakeirq: Convert to SRCU
Rafael J. Wysocki
rjw at rjwysocki.net
Sat Jun 24 05:30:10 PDT 2017
On Saturday, June 24, 2017 02:13:35 PM Thomas Gleixner wrote:
> On Sat, 24 Jun 2017, Rafael J. Wysocki wrote:
> > On Sat, Jun 24, 2017 at 11:56 AM, Thomas Gleixner <tglx at linutronix.de> wrote:
> > > The wakeirq infrastructure uses RCU to protect the list of wakeirqs. That
> > > breaks the irq bus locking infrastructure, which allows sleeping functions
> > > to be called so interrupt controllers behind slow busses, e.g. i2c, can be
> > > handled.
> > >
> > > The wakeirq functions hold rcu_read_lock and call into irq functions, which
> > > in case of interrupts using the irq bus locking will trigger a
> > > might_sleep() splat.
> > >
> > > Convert the wakeirq infrastructure to Sleepable RCU and unbreak it.
> > >
> > > Fixes: 4990d4fe327b ("PM / Wakeirq: Add automated device wake IRQ handling")
> > > Reported-by: Brian Norris <briannorris at chromium.org>
> > > Suggested-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
> > > Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> > > Cc: stable at vger.kernel.org
> > OK
> > I guess it would be good to get this into 4.12?
> I think so, but it probably wants some testing and breeding in next.
So here's a deal: if there is an -rc8, I can push this to Linus before the
final 4.12, but otherwise it will go into 4.13-rc during the merge window.
The -stable link will still be there, so that shouldn't be a big issue.
More information about the Linux-rockchip