Re: [PATCH for 4.12] Revert "pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip"
From: Thomas Gleixner
Date: Sat Jun 24 2017 - 05:22:24 EST
On Fri, 23 Jun 2017, Paul E. McKenney wrote:
> On Sat, Jun 24, 2017 at 12:12:49AM +0200, Thomas Gleixner wrote:
> > which added that RCU locking stuff and thereby broke the long existing
> > bus_lock() facility of the interrupt core.
> >
> > irq_bus_lock/unlock was explicitely made to allow sleeping locks for
> > interrupt chips which hang behind slow busses like i2c or spi. It took us
> > quite some effort to get this done and that patch broke it permanently.
> >
> > I'm not sure what to do here. This is an ever recurring issue simply
> > because RT requires that sleeping locks can be taken inside rcu locked
> > regions. So sooner than later we need a resoilution for that problem.
>
> The usual advice would be for 4990d4fe327b ("PM / Wakeirq: Add automated
> device wake IRQ handling") to use SRCU rather than RCU. Is there some
> reason that won't work?
I can't see one. So yes, we should rather convert that stuff to SRCU
instead of playing ping pong forever.
Thanks,
tglx