• Stephane Eranian's avatar
    perf_events: Fix default watermark calculation · 8904b180
    Stephane Eranian authored
    This patch fixes the default watermark value for the sampling
    buffer. With the existing calculation (watermark =
    max(PAGE_SIZE, max_size / 2)), no notification was ever received
    when the buffer was exactly 1 page. This was because you would
    never cross the threshold (there is no partial samples).
    
    In certain configuration, there was no possibilty detecting the
    problem because there was not enough space left to store the
    LOST record.In fact, there may be a more generic problem here.
    The kernel should ensure that there is alaways enough space to
    store one LOST record.
    
    This patch sets the default watermark to half the buffer size.
    With such limit, we are guaranteed to get a notification even
    with a single page buffer assuming no sample is bigger than a
    page.
    Signed-off-by: default avatarStephane Eranian <eranian@gmail.com>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    LKML-Reference: <20091120212509.344964101@chello.nl>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    LKML-Reference: <1256302576-6169-1-git-send-email-eranian@gmail.com>
    8904b180
perf_event.c 120 KB