lkml.org 
[lkml]   [2008]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PROBLEM] hard-lock with kmemtrace, relayfs, and splice
    From
    Date
    On Tue, 2008-10-14 at 08:13 +0300, Pekka Enberg wrote:
    > Hi Tom,
    >
    > Tom Zanussi wrote:
    > > To me, that sounds like how it should work - if kmemtrace is disabled,
    > > it shouldn't be logging anything, and that's in fact what I saw when
    > > debugging this - it started out disabled and therefore nothing being
    > > logged to relay (printks confirmed that). When I wrote 1 to the enabled
    > > file, data started getting logged to relay and to the *.out files.
    > >
    > > So I don't know why the enabled state behaves the way it does, or if
    > > it's unexpected, but that anyway doesn't seem like a relay problem to
    > > me.
    >
    > Oh, right. Looking at kmemtraced.c, we never enable kmemtrace, just
    > disable it (which doesn't make much sense). Bug in README or the code.

    Eduard, here's a fix for the userspace counterpart:

    >From aa95e997458fd4d2a3b9a5c75e1452e22a3159af Mon Sep 17 00:00:00 2001
    From: Pekka Enberg <penberg@cs.helsinki.fi>
    Date: Tue, 14 Oct 2008 10:03:51 +0300
    Subject: [PATCH] kmemtrace: enable tracing in kmemtraced

    If kmemtrace is not enabled at boot, we need to enable it before we start
    relaying data to userspace.

    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
    ---
    kmemtraced.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/kmemtraced.c b/kmemtraced.c
    index 217478d..5cc1ada 100644
    --- a/kmemtraced.c
    +++ b/kmemtraced.c
    @@ -165,8 +165,6 @@ int main(int argc, char *argv[])
    if (!readers)
    panic("Out of memory!\n");

    - write_str("/sys/kernel/debug/kmemtrace/enabled", "0");
    -
    printf("Copying /proc/kallsyms...\n");
    copy_kallsyms();

    @@ -180,6 +178,8 @@ int main(int argc, char *argv[])
    strerror(errno));
    }

    + write_str("/sys/kernel/debug/kmemtrace/enabled", "1");
    +
    printf("Logging... Press Control-C to stop.\n");

    while (sigwait(&signals, &signal) == 0) {
    --
    1.5.4.3




    \
     
     \ /
      Last update: 2008-10-14 09:07    [W:0.022 / U:0.212 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site