Shrikanth Hegde <[email protected]> writes: > Christian Zigotzky had reported that preemptible kernels don't boot on > his FSL Cyrus+ board. The board freezes on running either full/lazy > preemption and has been an issue for a while now (years!). > > https://lore.kernel.org/all/[email protected]/#t > > After 7.0, there is only preempt=full/lazy which removed the > preempt=none/voluntary workaround used to mask the issue. There was > challenge is getting the console logs which made the fixes difficult since > one couldn't know where the issue is. > > Thanks to Michal for helping in getting the logs. That pointed at few > places where the issue could be. This series is an attempt at fixing > those. > > Christian, I haven't taken the tested-by tag since patches have > changed quite a bit. > Please help in *testing* the patches again. > > v1->v2: > - Re-order to avoid preempt count dance (Narayana Murty N) > - Do only hard_irq_disable on PPC64 to avoid second warning. On PPC32 > use local_irq_disable to acheive the same. (Ritesh Harjani) > > v1: https://lore.kernel.org/all/[email protected]/ > > New API ppc_hard_irq_disable could potentially be used in other places. > There is similar pattern of doing both local and hard irq disable and > likely not all callsites need both. But it is a larger effort and due to > my time limit, it will be taken up subsequently. > > Shrikanth Hegde (3):
Thanks Shrikanth for posting v2 based on the discussions. This is definitely in my list of todo things - to go over the historical reasoning behind the divergence of hard_irq_disable() and local_irq_disable() between 32-bit and 64-bit powerpc code. I am also interested in knowing, where else we were previously using this pattern, like in these patches, and were they only to stop lockdep from crying or was there more to that. I will get back on these patches before end of this week - and hopefully we still will have time to queue this up before -rc4. > powerpc/irq: Add ppc_hard_irq_disable() > KVM: PPC: BookE: Load FP and Altivec before enabling the interrupts btw, small nit - ^^^ this patch missed to add Suggested-by from Narayana. > KVM: PPC: Use ppc_hard_irq_disable before guest entry > > arch/powerpc/include/asm/hw_irq.h | 17 +++++++++++++++++ > arch/powerpc/kvm/booke.c | 7 +++++-- > arch/powerpc/kvm/powerpc.c | 14 +++----------- > 3 files changed, 25 insertions(+), 13 deletions(-) > -ritesh
