• Deng-Cheng Zhu's avatar
    MIPS, Perf-events: Work with the new callchain interface · 98f92f2f
    Deng-Cheng Zhu authored
    This is the MIPS part of the following commits by Frederic Weisbecker:
    
    - f72c1a93
        perf: Factorize callchain context handling
    
        Store the kernel and user contexts from the generic layer instead
        of archs, this gathers some repetitive code.
    
    - 56962b44
        perf: Generalize some arch callchain code
    
        - Most archs use one callchain buffer per cpu, except x86 that needs
          to deal with NMIs. Provide a default perf_callchain_buffer()
          implementation that x86 overrides.
    
        - Centralize all the kernel/user regs handling and invoke new arch
          handlers from there: perf_callchain_user() / perf_callchain_kernel()
          That avoid all the user_mode(), current->mm checks and so...
    
        - Invert some parameters in perf_callchain_*() helpers: entry to the
          left, regs to the right, following the traditional (dst, src).
    
    - 70791ce9
        perf: Generalize callchain_store()
    
        callchain_store() is the same on every archs, inline it in
        perf_event.h and rename it to perf_callchain_store() to avoid
        any collision.
    
        This removes repetitive code.
    
    - c1a65932
        perf: Drop unappropriate tests on arch callchains
    
        Drop the TASK_RUNNING test on user tasks for callchains as
        this check doesn't seem to make any sense.
    
        Also remove the tests for !current that is not supposed to
        happen and current->pid as this should be handled at the
        generic level, with exclude_idle attribute.
    Reported-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
    Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Acked-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
    Signed-off-by: default avatarDeng-Cheng Zhu <dengcheng.zhu@gmail.com>
    To: a.p.zijlstra@chello.nl
    To: will.deacon@arm.com
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: paulus@samba.org
    Cc: mingo@elte.hu
    Cc: acme@redhat.com
    Cc: dengcheng.zhu@gmail.com
    Cc: matt@console-pimps.org
    Cc: sshtylyov@mvista.com
    Patchwork: http://patchwork.linux-mips.org/patch/2014/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    98f92f2f
perf_event.c 13.9 KB