• Guo Ren's avatar
    csky/ftrace: Fixup ftrace_modify_code deadlock without CPU_HAS_ICACHE_INS · dd7c983e
    Guo Ren authored
    If ICACHE_INS is not supported, we use IPI to sync icache on each
    core. But ftrace_modify_code is called from stop_machine from default
    implementation of arch_ftrace_update_code and stop_machine callback
    is irq_disabled. When you call ipi with irq_disabled, a deadlock will
    happen.
    
    We couldn't use icache_flush with irq_disabled, but startup make_nop
    is specific case and it needn't ipi other cores.
    Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
    dd7c983e
ftrace.c 5.31 KB