[lkml]   [2008]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 05/24] perfmon: X86 generic code (x86)
    On Thu, Nov 27, 2008 at 1:32 PM, Andi Kleen <> wrote:
    > On Thu, Nov 27, 2008 at 12:35:54PM +0100, stephane eranian wrote:
    >> On Thu, Nov 27, 2008 at 12:31 PM, Andi Kleen <> wrote:
    >> >> 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.
    >> >
    >> > The NMI watchdog is now off by default so failing with it enabled
    >> > is fine.
    >> Yes, but most likely it is on in distro kernels.
    > Really? Why?
    To make sure they can get a crash dump off of production systems.

    > Old distros of course do it but only because they run old
    > kernels.
    >> You have to handle the case where the NMI fires while you are holding
    >> a perfmon lock. What you have in the patch (and the the fully-featured version)
    >> is that we get the NMI and we stop the PMU WITHOUT grabbing any perfmon
    >> lock, and the we repost the interrupt with the regular vector. We also make sure
    >> we grab the RIP at NMI. That is the one we want to see reported in the sampling
    >> buffer.
    >> I am still wondering how Oprofile handles the case where multiple processes or
    >> threads access the same file descriptor.
    > It uses per CPU buffers (so no races on the writer) and readers can
    > of course use a lock to coordinate between themselves.
    What if a threads reprograms the counters while another is reading them?
    How is the buffer reset?

     \ /
      Last update: 2008-11-27 13:31    [W:0.022 / U:9.980 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site