• M
    powerpc/mm: Mark get_slice_psize() & slice_addr_is_low() as notrace · 91a063c9
    Michael Ellerman 提交于
    These slice routines are called from the SLB miss handler, which can
    lead to warnings from the IRQ code, because we have not reconciled the
    IRQ state properly:
    
      WARNING: CPU: 72 PID: 30150 at arch/powerpc/kernel/irq.c:258 arch_local_irq_restore.part.0+0xcc/0x100
      Modules linked in:
      CPU: 72 PID: 30150 Comm: ftracetest Not tainted 5.5.0-rc2-gcc9x-g7e0165b2 #1
      NIP:  c00000000001d83c LR: c00000000029ab90 CTR: c00000000026cf90
      REGS: c0000007eee3b960 TRAP: 0700   Not tainted  (5.5.0-rc2-gcc9x-g7e0165b2)
      MSR:  8000000000021033 <SF,ME,IR,DR,RI,LE>  CR: 22242844  XER: 20000000
      CFAR: c00000000001d780 IRQMASK: 0
      ...
      NIP arch_local_irq_restore.part.0+0xcc/0x100
      LR  trace_graph_entry+0x270/0x340
      Call Trace:
        trace_graph_entry+0x254/0x340 (unreliable)
        function_graph_enter+0xe4/0x1a0
        prepare_ftrace_return+0xa0/0x130
        ftrace_graph_caller+0x44/0x94	# (get_slice_psize())
        slb_allocate_user+0x7c/0x100
        do_slb_fault+0xf8/0x300
        instruction_access_slb_common+0x140/0x180
    
    Fixes: 48e7b769 ("powerpc/64s/hash: Convert SLB miss handlers to C")
    Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20191221121337.4894-1-mpe@ellerman.id.au
    91a063c9
slice.c 21.7 KB