lkml.org 
[lkml]   [2009]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[GIT PULL v2] hw-breakpoints: Rewrite on top of perf events
    Date
    Hi all,

    This is the v2 of the hw-breakpoints API rewrite on top of perf events.
    You can find the previous version here:
    http://lwn.net/Articles/351922/

    Changes in v2:

    - Follow the perf "event " rename
    - The ptrace regression have been fixed (ptrace breakpoint perf events
    weren't released when a task ended)
    - Drop the struct hw_breakpoint and store generic fields in
    perf_event_attr.
    - Separate core and arch specific headers, drop
    asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h
    - Use new generic len/type for breakpoint
    - Handle off case: when breakpoints api is not supported by an arch
    - Use proper in-kernel perf api provided by Arjan.

    There are still a lot of things that need to be cleaned, simplified,
    improved (ptrace side, the bp api, etc....) I guess these things can
    be done incrementally if you agree.
    I've also tried to get an arch-independent api. Generic fields for
    breakpoints are stored in perf_event_attr structure (type, len, addr).
    This needs to be discussed and improved before it becomes a perf
    userspace ABI. We need to find a generic enough structure to host
    the breakpoints parameters, something that can better fit to most arch
    (handling breakpoint ranges in powerpc, etc...).

    Thanks.

    ---
    The following patchset are available in the git repository at:

    git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
    perfevents/hw-breakpoint

    Arjan van de Ven (1):
    perf/core: Provide a kernel-internal interface to get to performance counters

    Frederic Weisbecker (3):
    perf/core: Add a callback to perf events
    hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events
    hw-breakpoints: Arbitrate access to pmu following registers constraints

    Li Zefan (1):
    ksym_tracer: Remove KSYM_SELFTEST_ENTRY

    Paul Mundt (1):
    x86/hw-breakpoints: Actually flush thread breakpoints in flush_thread().

    arch/Kconfig | 3 +
    arch/x86/include/asm/debugreg.h | 7 -
    arch/x86/include/asm/hw_breakpoint.h | 58 +++--
    arch/x86/include/asm/processor.h | 12 +-
    arch/x86/kernel/hw_breakpoint.c | 376 ++++++++++++++--------
    arch/x86/kernel/process.c | 9 +-
    arch/x86/kernel/process_32.c | 26 +--
    arch/x86/kernel/process_64.c | 26 +--
    arch/x86/kernel/ptrace.c | 182 +++++++----
    arch/x86/kernel/smpboot.c | 3 -
    arch/x86/power/cpu.c | 6 -
    include/asm-generic/hw_breakpoint.h | 139 --------
    include/linux/hw_breakpoint.h | 131 ++++++++
    include/linux/perf_event.h | 37 ++-
    kernel/exit.c | 5 +
    kernel/hw_breakpoint.c | 595 +++++++++++++++++++++-------------
    kernel/perf_event.c | 137 ++++++++-
    kernel/trace/trace.h | 1 -
    kernel/trace/trace_entries.h | 6 +-
    kernel/trace/trace_ksym.c | 126 ++++----
    kernel/trace/trace_selftest.c | 2 +-
    21 files changed, 1154 insertions(+), 733 deletions(-)
    delete mode 100644 include/asm-generic/hw_breakpoint.h
    create mode 100644 include/linux/hw_breakpoint.h

    \
     
     \ /
      Last update: 2009-10-24 16:19    [from the cache]
    ©2003-2014 Jasper Spaans. Advertise on this site