lkml.org 
[lkml]   [2008]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 05/24] perfmon: X86 generic code (x86)
    Andi, Thomas,

    On Thu, Nov 27, 2008 at 11:06 AM, Andi Kleen <andi@firstfloor.org> wrote:
    > On Wed, Nov 26, 2008 at 11:54:30PM +0100, Thomas Gleixner wrote:
    >> On Wed, 26 Nov 2008, Andi Kleen wrote:
    >> > On Wed, Nov 26, 2008 at 02:35:18PM +0100, Thomas Gleixner wrote:
    >> > > > + */
    >> > > > + pfm_arch_resend_irq(ctx);
    >> > >
    >> > > Do we really need this whole NMI business ?
    >> >
    >> > Without it you cannot profile interrupts off regions well.
    >>
    >> Fair enough, but I doubt that this is a real solution.
    >>
    >> There is not even an attempt to avoid the obvious wrmrsl races, while
    >> there are several comments which explain how expensive wrmrsl is. In
    >> the NMI handler we enable the NMI right away. This might cause
    >> multiple NMIs for nothing when the NMIs hit between the manipulations
    >> of the counters. Not likely but can happen depending on the counter
    >> settings.
    >>
    >> Sending an self-IPI from NMI simply sucks: For every NMI we get an
    >> extra local interrupt and we have an extra of 2 * NR_ACTIVE_COUNTERS
    >> accesses to MSRs.
    >
    > In newer Intel the counters can be reset/rearmed by accessing
    > only a few global control msrs. But it's probably still a problem
    > on other PMUs.
    >
    > On the other hand it also has PEBS which allows at least some
    > profiling of irq-off regions without using NMIs.
    >>
    >> Designing that code to use lockless buffers instead is not really
    >> rocket science.
    >
    > Lockless buffers are nasty, but it works in oprofile at least.
    >
    > Taking out NMis in the first version at least seems like a reasonable
    > solution. After all you can still use standard oprofile where they work
    > just fine.
    >
    The only reason why I have to deal with NMI is not so much to allow
    for profiling irq-off regions but because I have to share the PMU with
    the NMI watchdog. Otherwise I'd have to fail or disable the NMI watchdog
    on the fly.


    \
     
     \ /
      Last update: 2008-11-27 11:11    [from the cache]
    ©2003-2011 Jasper Spaans