lkml.org 
[lkml]   [2015]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/3] x86, mm: Trace when an IPI is about to be sent
    Date
    It is easy to trace when an IPI is received to flush a TLB but harder to
    detect what event sent it. This patch makes it easy to identify the source
    of IPIs being transmitted for TLB flushes on x86.

    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Reviewed-by: Rik van Riel <riel@redhat.com>
    Reviewed-by: Dave Hansen <dave.hansen@intel.com>
    ---
    arch/x86/mm/tlb.c | 1 +
    include/linux/mm_types.h | 1 +
    include/trace/events/tlb.h | 3 ++-
    3 files changed, 4 insertions(+), 1 deletion(-)

    diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
    index 3250f2371aea..2da824c1c140 100644
    --- a/arch/x86/mm/tlb.c
    +++ b/arch/x86/mm/tlb.c
    @@ -140,6 +140,7 @@ void native_flush_tlb_others(const struct cpumask *cpumask,
    info.flush_end = end;

    count_vm_tlb_event(NR_TLB_REMOTE_FLUSH);
    + trace_tlb_flush(TLB_REMOTE_SEND_IPI, end - start);
    if (is_uv_system()) {
    unsigned int cpu;

    diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
    index 8d37e26a1007..86ad9f902042 100644
    --- a/include/linux/mm_types.h
    +++ b/include/linux/mm_types.h
    @@ -534,6 +534,7 @@ enum tlb_flush_reason {
    TLB_REMOTE_SHOOTDOWN,
    TLB_LOCAL_SHOOTDOWN,
    TLB_LOCAL_MM_SHOOTDOWN,
    + TLB_REMOTE_SEND_IPI,
    NR_TLB_FLUSH_REASONS,
    };

    diff --git a/include/trace/events/tlb.h b/include/trace/events/tlb.h
    index 4250f364a6ca..bc8815f45f3b 100644
    --- a/include/trace/events/tlb.h
    +++ b/include/trace/events/tlb.h
    @@ -11,7 +11,8 @@
    EM( TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" ) \
    EM( TLB_REMOTE_SHOOTDOWN, "remote shootdown" ) \
    EM( TLB_LOCAL_SHOOTDOWN, "local shootdown" ) \
    - EMe( TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" )
    + EM( TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" ) \
    + EMe( TLB_REMOTE_SEND_IPI, "remote ipi send" )

    /*
    * First define the enums in TLB_FLUSH_REASON to be exported to userspace
    --
    2.3.5


    \
     
     \ /
      Last update: 2015-06-08 15:01    [W:5.949 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site