lkml.org 
[lkml]   [2013]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH tip 4/5] use BPF in tracing filters
    (2013/12/05 14:11), Alexei Starovoitov wrote:
    > On Wed, Dec 4, 2013 at 4:05 PM, Masami Hiramatsu
    > <masami.hiramatsu.pt@hitachi.com> wrote:
    >> (2013/12/04 10:11), Steven Rostedt wrote:
    >>> On Wed, 04 Dec 2013 09:48:44 +0900
    >>> Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
    >>>
    >>>> fetch functions and actions. In that case, we can continue
    >>>> to use current interface but much faster to trace.
    >>>> Also, we can see what filter/arguments/actions are set
    >>>> on each event.
    >>>
    >>> There's also the problem that the current filters work with the results
    >>> of what is written to the buffer, not what is passed in by the trace
    >>> point, as that isn't even displayed to the user.
    >>
    >> Agreed, so I've said I doubt this implementation is a good
    >> shape to integrate. Ktap style is better, since it just gets
    >> parameters from perf buffer entry (using event format).
    >
    > Are you saying always store all arguments into ring buffer and let
    > filter run on it?

    Yes, it is what ftrace does. I doubt your way fits all of the existing
    trace-event macros. However, I think just for dynamic events, you can
    integrating the argument fetching and filtering.

    > It's slower, but it's cleaner, because of human readable? since ktap
    > arg1 matches first
    > argument of tracepoint is better than doing ctx->regs.di ? Sure.
    > si->arg1 is easy to fix.
    > With si->arg1 tweak the bpf will become architecture independent. It
    > will run through JIT on x86 and through interpreter everywhere else.
    > but for kprobes user have to specify 'var=cpu_register' during probe
    > creation… how is it better than doing the same in filter?

    Haven't you used perf-probe yet? It already supports such kind of
    translation from kernel local variable name to registers, offsets,
    and dereference. :) And kprobe-events can parse such arguments into
    method chain. See Documentation/trace/kprobetrace.txt and
    tools/perf/Documentation/perf-probe.txt for more detail.
    Anyway, I'd like to use the bpf for re-implementing fetch method. :)

    Thank you,

    --
    Masami HIRAMATSU
    IT Management Research Dept. Linux Technology Center
    Hitachi, Ltd., Yokohama Research Laboratory
    E-mail: masami.hiramatsu.pt@hitachi.com


    --
    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/

    \
     
     \ /
      Last update: 2013-12-06 10:01    [W:4.273 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site