ftrace and debugfs weird interaction - Kernel

This is a discussion on ftrace and debugfs weird interaction - Kernel ; Hi, When trying to figure out what was going on with the sched tracer "tracing_enabled" file (sched-devel.git tree), I fell on this strange behavior : echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write callback. However, sending garbage, e.g. ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: ftrace and debugfs weird interaction

  1. ftrace and debugfs weird interaction

    Hi,

    When trying to figure out what was going on with the sched tracer
    "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    behavior :

    echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write
    callback. However, sending garbage, e.g. echo s> tracing_enabled,
    correctly sends the 's' character down the chain. echo 0>tracing_enabled
    sometimes results in the callback not even being called.

    The debugfs file has been created with

    entry = debugfs_create_file("tracing_enabled", 0644, d_tracer,
    &global_trace, &tracing_ctrl_fops);
    if (!entry)
    pr_warning("Could not create debugfs 'tracing_enabled' entry\n");

    I wonder what kind of weird debugfs interaction we might have here ?

    Mathieu

    --
    Mathieu Desnoyers
    OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: ftrace and debugfs weird interaction

    On Sat, Apr 26, 2008 at 02:54:03PM -0400, Mathieu Desnoyers wrote:
    > Hi,
    >
    > When trying to figure out what was going on with the sched tracer
    > "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    > behavior :
    >
    > echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write
    > callback. However, sending garbage, e.g. echo s> tracing_enabled,
    > correctly sends the 's' character down the chain. echo 0>tracing_enabled
    > sometimes results in the callback not even being called.
    >
    > The debugfs file has been created with
    >
    > entry = debugfs_create_file("tracing_enabled", 0644, d_tracer,
    > &global_trace, &tracing_ctrl_fops);
    > if (!entry)
    > pr_warning("Could not create debugfs 'tracing_enabled' entry\n");
    >
    > I wonder what kind of weird debugfs interaction we might have here ?


    I don't know. Are you sure your _fops is not getting called at all?

    How about using a "default" operation for such a simple file, like
    debugfs_create_bool() as that is all you care about for this kind of
    value?

    That should save you some code at the very least

    thanks,

    greg k-h
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: ftrace and debugfs weird interaction


    * Mathieu Desnoyers wrote:

    > Hi,
    >
    > When trying to figure out what was going on with the sched tracer
    > "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    > behavior :
    >
    > echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write
    > callback. However, sending garbage, e.g. echo s> tracing_enabled,
    > correctly sends the 's' character down the chain. echo 0>tracing_enabled
    > sometimes results in the callback not even being called.
    >
    > The debugfs file has been created with
    >
    > entry = debugfs_create_file("tracing_enabled", 0644, d_tracer,
    > &global_trace, &tracing_ctrl_fops);
    > if (!entry)
    > pr_warning("Could not create debugfs 'tracing_enabled' entry\n");
    >
    > I wonder what kind of weird debugfs interaction we might have here ?


    hm. Cc:-ed more ftrace developers.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: ftrace and debugfs weird interaction

    5BOn Mon, 28 Apr 2008, Ingo Molnar wrote:

    >
    > * Mathieu Desnoyers wrote:
    >
    > > Hi,
    > >
    > > When trying to figure out what was going on with the sched tracer
    > > "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    > > behavior :
    > >
    > > echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write


    It should actually send "1" and not 1 (and technically "1\n") ;-)

    > > callback. However, sending garbage, e.g. echo s> tracing_enabled,
    > > correctly sends the 's' character down the chain. echo 0>tracing_enabled
    > > sometimes results in the callback not even being called.


    I haven't seen this. Perhaps I'm confused about what you are seeing.

    > >
    > > The debugfs file has been created with
    > >
    > > entry = debugfs_create_file("tracing_enabled", 0644, d_tracer,
    > > &global_trace, &tracing_ctrl_fops);
    > > if (!entry)
    > > pr_warning("Could not create debugfs 'tracing_enabled' entry\n");
    > >
    > > I wonder what kind of weird debugfs interaction we might have here ?


    This looks normal to me. Could you provide a bit more detail to what you
    are doing, what the results are, and what you expect the restults to be?

    >
    > hm. Cc:-ed more ftrace developers.


    Thanks,

    -- Steve
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: ftrace and debugfs weird interaction

    > * Mathieu Desnoyers wrote:
    >
    > > Hi,
    > >
    > > When trying to figure out what was going on with the sched tracer
    > > "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    > > behavior :
    > >
    > > echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write


    Wait a minute, are you literally running the command:
    echo 1>tracing_enabled

    If you are, you just echoed only a newline and directed stdout, stream 1,
    to the file. No? :-)

    Could you try with a space:
    echo 1 > tracing_enabled

    > > callback. However, sending garbage, e.g. echo s> tracing_enabled,
    > > correctly sends the 's' character down the chain. echo 0>tracing_enabled
    > > sometimes results in the callback not even being called.


    Stream 0 is stdin, so... not sure what this would do. Probably nothing,
    just like you experienced.


    Thanks.

    --
    Pekka Paalanen
    http://www.iki.fi/pq/
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. Re: ftrace and debugfs weird interaction

    * Pekka Paalanen (pq@iki.fi) wrote:
    > > * Mathieu Desnoyers wrote:
    > >
    > > > Hi,
    > > >
    > > > When trying to figure out what was going on with the sched tracer
    > > > "tracing_enabled" file (sched-devel.git tree), I fell on this strange
    > > > behavior :
    > > >
    > > > echo 1>tracing_enabled seems _not_ to send 1 to the tracing_ctrl_write

    >
    > Wait a minute, are you literally running the command:
    > echo 1>tracing_enabled
    >
    > If you are, you just echoed only a newline and directed stdout, stream 1,
    > to the file. No? :-)
    >
    > Could you try with a space:
    > echo 1 > tracing_enabled
    >
    > > > callback. However, sending garbage, e.g. echo s> tracing_enabled,
    > > > correctly sends the 's' character down the chain. echo 0>tracing_enabled
    > > > sometimes results in the callback not even being called.

    >
    > Stream 0 is stdin, so... not sure what this would do. Probably nothing,
    > just like you experienced.
    >


    *duh*. Ok. That wasn't smart. You spotted the problem. Thanks a lot

    Mathieu

    >
    > Thanks.
    >
    > --
    > Pekka Paalanen
    > http://www.iki.fi/pq/


    --
    Mathieu Desnoyers
    OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread