[PATCH v9 14/14] powerpc: rewrite local_t using soft_irq

Nicholas Piggin npiggin at gmail.com
Fri Aug 4 19:04:29 AEST 2017


On Fri, 04 Aug 2017 11:40:43 +1000
Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:

> On Fri, 2017-08-04 at 03:50 +1000, Nicholas Piggin wrote:
> > Hey, so... why are any of these implemented in asm? We should
> > just do them all in C, right? I looked a bit harder at code gen
> > and a couple of them are still emitting larx/stcx.  
> 
> As long as we can guarantee that the C compiler won't play games
> moving stuff around. But yes, I tend to agree.


I believe so. I mean we already depend on the same pattern for any
other sequence of local_irq_disable(); c code; local_irq_enable();
so we'd have other problems if we couldn't.

I can easily believe there have been bugs with the fixed r13
handling in gcc in the past, but it looks like it does the right
thing now AFAIKS.

Thanks,
Nick


More information about the Linuxppc-dev mailing list