Why? funca: nop addi sp,sp, -8 nop sd ra, 0(sp) nop, nop auipc ra, 0x? nop, nop -> jalr -?(ra) nop ld ra,0(sp) nop addi sp,sp, 8 When CPU0 has only changed half of them, CPU1 call funca then CPU1 broken. On Wed, Oct 21, 2020 at 4:41 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > On Tue, 20 Oct 2020 19:18:01 +0800 > Guo Ren <guoren@xxxxxxxxxx> wrote: > > > > What platform are you testing ? We are seeing a crash while enabling > > > any of the tracers multiple times > > > on Qemu/HiFive Unleashed. > > I use qemu for testing. I've changed dynamic ftrace mechanism from > > mcount to -fpatchable-entry. > > > > The problem is made by the lockdep checking of text_mutex. > > If you are switching to "patchable-entry" you shouldn't need to use > stop_machine for the updates. No? > > -- Steve -- Best Regards Guo Ren ML: https://lore.kernel.org/linux-csky/