• M
    x86, bts, hw-branch-tracer: add _noirq variants to the debug store interface · de79f54f
    Markus Metzger 提交于
    The hw-branch-tracer uses debug store functions from an on_each_cpu()
    context, which is simply wrong since the functions may sleep.
    
    Add _noirq variants for most functions, which  may be called with
    interrupts disabled.
    
    Separate per-cpu and per-task tracing and allow per-cpu tracing to be
    controlled from any cpu.
    
    Make the hw-branch-tracer use the new debug store interface, synchronize
    with hotplug cpu event using get/put_online_cpus(), and remove the
    unnecessary spinlock.
    
    Make the ptrace bts and the ds selftest code use the new interface.
    
    Defer the ds selftest.
    Signed-off-by: NMarkus Metzger <markus.t.metzger@intel.com>
    Cc: roland@redhat.com
    Cc: eranian@googlemail.com
    Cc: oleg@redhat.com
    Cc: juan.villacis@intel.com
    Cc: ak@linux.jf.intel.com
    LKML-Reference: <20090403144555.658136000@intel.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    de79f54f
ptrace.c 37.4 KB