[RFC Patch] Trace - Samples - Kernel

This is a discussion on [RFC Patch] Trace - Samples - Kernel ; This patch Moves the trace example into the new samples/ infrastructure Requires: [patch 3/5] Add samples subdir ( http://lkml.org/lkml/2007/9/25/157 ) and create samples/Makefile or apply: [patch 4/5] Linux Kernel Markers - Samples ( http://lkml.org/lkml/2007/9/25/166 ) Signed-off-by: David Wilder --- samples/Kbuild ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [RFC Patch] Trace - Samples

  1. [RFC Patch] Trace - Samples

    This patch Moves the trace example into the new samples/ infrastructure

    Requires: [patch 3/5] Add samples subdir (http://lkml.org/lkml/2007/9/25/157)
    and create samples/Makefile or apply:
    [patch 4/5] Linux Kernel Markers - Samples (http://lkml.org/lkml/2007/9/25/166)

    Signed-off-by: David Wilder
    ---
    samples/Kbuild | 2 -
    samples/Kconfig | 5 ++
    samples/Makefile | 3 +
    samples/trace/Makefile | 4 +
    samples/trace/fork_trace.c | 132 ++++++++++++++++++++++++++++++++++++++++++++
    5 files changed, 144 insertions(+), 2 deletions(-)

    diff --git a/samples/Kbuild b/samples/Kbuild
    deleted file mode 100644
    index 8af00e9..0000000
    --- a/samples/Kbuild
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -# Makefile for Linux samples code
    -
    diff --git a/samples/Kconfig b/samples/Kconfig
    index b46b4cf..e5c6963 100644
    --- a/samples/Kconfig
    +++ b/samples/Kconfig
    @@ -7,5 +7,10 @@ menuconfig SAMPLES

    if SAMPLES

    +config SAMPLE_TRACE
    + tristate "Build trace example -- loadable modules only"
    + depends on TRACE && m
    + help
    + This builds a trace example module.

    endif # SAMPLES
    diff --git a/samples/Makefile b/samples/Makefile
    new file mode 100644
    index 0000000..07a32e6
    --- /dev/null
    +++ b/samples/Makefile
    @@ -0,0 +1,3 @@
    +# Makefile for Linux samples code
    +
    +obj-$(CONFIG_SAMPLES) += trace/
    diff --git a/samples/trace/Makefile b/samples/trace/Makefile
    new file mode 100644
    index 0000000..a2da8af
    --- /dev/null
    +++ b/samples/trace/Makefile
    @@ -0,0 +1,4 @@
    +# builds the trace example kernel modules;
    +# then to use (as root): insmod
    +
    +obj-$(CONFIG_SAMPLE_TRACE) := fork_trace.o
    diff --git a/samples/trace/fork_trace.c b/samples/trace/fork_trace.c
    new file mode 100644
    index 0000000..71c04c7
    --- /dev/null
    +++ b/samples/trace/fork_trace.c
    @@ -0,0 +1,132 @@
    +/*
    + * An example of using trace in a kprobes module
    + *
    + * Copyright (C) 2007 IBM Inc.
    + *
    + * David Wilder
    + *
    + * This program is free software; you can redistribute it and/or modify
    + * it under the terms of the GNU General Public License version 2 as
    + * published by the Free Software Foundation.
    + *
    + * This program is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    + * GNU General Public License for more details.
    + *
    + * You should have received a copy of the GNU General Public License
    + * along with this program; if not, write to the Free Software
    + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    + *
    + * -------
    + * This module creates a trace channel and places a kprobe
    + * on the function do_fork(). The value of current->pid is written to
    + * the trace channel each time the kprobe is hit..
    + *
    + * How to run the example:
    + * $ mount -t debugfs /debug
    + * $ insmod fork_trace.ko
    + *
    + * To view the data produced by the module:
    + * $ cat /debug/trace_example/do_fork/trace0
    + *
    + */
    +
    +#include
    +#include
    +#include
    +#include
    +
    +#define USE_GLOBAL_BUFFERS 1
    +#define USE_FLIGHT 1
    +
    +#define PROBE_POINT "do_fork"
    +
    +static struct kprobe kp;
    +static struct trace_info *kprobes_trace;
    +
    +#ifdef USE_GLOBAL_BUFFERS
    +static DEFINE_SPINLOCK(trace_lock);
    +#endif
    +
    +/*
    + * Send formatted trace data to trace channel.
    + * @note Preemption must be disabled to use this.
    + */
    +static void trace_printf(struct trace_info *trace, const char *format, ...)
    +{
    + va_list ap, aq;
    + char *record;
    + unsigned long flags;
    + int len;
    +
    + if (!trace)
    + return;
    +
    +#ifdef USE_GLOBAL_BUFFERS
    + spin_lock_irqsave(&trace_lock, flags);
    +#endif
    + if (trace_running(trace)) {
    + va_start(ap, format);
    + va_copy(aq, ap);
    + len = vsnprintf(NULL, 0, format, aq);
    + va_end(aq);
    + record = relay_reserve(trace->rchan, ++len);
    + if (record)
    + vsnprintf(record, len, format, ap);
    + va_end(ap);
    + }
    +#ifdef USE_GLOBAL_BUFFERS
    + spin_unlock_irqrestore(&trace_lock, flags);
    +#endif
    +}
    +
    +static int handler_pre(struct kprobe *p, struct pt_regs *regs)
    +{
    + rcu_read_lock();
    + trace_printf(kprobes_trace, "%d\n", current->pid);
    + rcu_read_unlock();
    + return 0;
    +}
    +
    +int init_module(void)
    +{
    + int ret;
    + u32 flags = 0;
    +
    +#ifdef USE_GLOBAL_BUFFERS
    + flags |= TRACE_GLOBAL_CHANNEL;
    +#endif
    +
    +#ifdef USE_FLIGHT
    + flags |= TRACE_FLIGHT_CHANNEL;
    +#endif
    +
    + /* setup the trace */
    + kprobes_trace = trace_setup("trace_example", PROBE_POINT,
    + 1024, 8, flags);
    + if (IS_ERR(kprobes_trace))
    + return PTR_ERR(kprobes_trace);
    +
    + trace_start(kprobes_trace);
    +
    + /* setup the kprobe */
    + kp.pre_handler = handler_pre;
    + kp.post_handler = NULL;
    + kp.fault_handler = NULL;
    + kp.symbol_name = PROBE_POINT;
    + ret = register_kprobe(&kp);
    + if (ret) {
    + printk(KERN_ERR "fork_trace: register_kprobe failed\n");
    + return ret;
    + }
    + return 0;
    +}
    +
    +void cleanup_module(void)
    +{
    + unregister_kprobe(&kp);
    + trace_stop(kprobes_trace);
    + trace_cleanup(kprobes_trace);
    +}
    +MODULE_LICENSE("GPL");


    -
    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: [RFC Patch] Trace - Samples

    On Tue, 25 Sep 2007 13:35:47 -0700 David J. Wilder wrote:

    > This patch Moves the trace example into the new samples/ infrastructure
    >
    > Requires: [patch 3/5] Add samples subdir (http://lkml.org/lkml/2007/9/25/157)
    > and create samples/Makefile or apply:
    > [patch 4/5] Linux Kernel Markers - Samples (http://lkml.org/lkml/2007/9/25/166)
    >
    > Signed-off-by: David Wilder


    Looks good. Thanks.

    Acked-by: Randy Dunlap

    Andrew, Mathieu is making changes to patch 3/5 referenced above.
    When that is done, do you need a resend of all of these samples/
    patches or do you have them straight?

    Basically we have:
    a. add samples/ infrastructure (new coming from Mathieu)
    b. add markers to samples/ (Mathieu)
    c. add trace/ to samples/ (this patch from David)
    d. add kprobes/ to samples (move some from Documentation)


    > ---
    > samples/Kbuild | 2 -
    > samples/Kconfig | 5 ++
    > samples/Makefile | 3 +
    > samples/trace/Makefile | 4 +
    > samples/trace/fork_trace.c | 132 ++++++++++++++++++++++++++++++++++++++++++++
    > 5 files changed, 144 insertions(+), 2 deletions(-)
    >
    > diff --git a/samples/Kbuild b/samples/Kbuild
    > deleted file mode 100644
    > index 8af00e9..0000000
    > --- a/samples/Kbuild
    > +++ /dev/null
    > @@ -1,2 +0,0 @@
    > -# Makefile for Linux samples code
    > -
    > diff --git a/samples/Kconfig b/samples/Kconfig
    > index b46b4cf..e5c6963 100644
    > --- a/samples/Kconfig
    > +++ b/samples/Kconfig
    > @@ -7,5 +7,10 @@ menuconfig SAMPLES
    >
    > if SAMPLES
    >
    > +config SAMPLE_TRACE
    > + tristate "Build trace example -- loadable modules only"
    > + depends on TRACE && m
    > + help
    > + This builds a trace example module.
    >
    > endif # SAMPLES
    > diff --git a/samples/Makefile b/samples/Makefile
    > new file mode 100644
    > index 0000000..07a32e6
    > --- /dev/null
    > +++ b/samples/Makefile
    > @@ -0,0 +1,3 @@
    > +# Makefile for Linux samples code
    > +
    > +obj-$(CONFIG_SAMPLES) += trace/
    > diff --git a/samples/trace/Makefile b/samples/trace/Makefile
    > new file mode 100644
    > index 0000000..a2da8af
    > --- /dev/null
    > +++ b/samples/trace/Makefile
    > @@ -0,0 +1,4 @@
    > +# builds the trace example kernel modules;
    > +# then to use (as root): insmod
    > +
    > +obj-$(CONFIG_SAMPLE_TRACE) := fork_trace.o
    > diff --git a/samples/trace/fork_trace.c b/samples/trace/fork_trace.c
    > new file mode 100644
    > index 0000000..71c04c7
    > --- /dev/null
    > +++ b/samples/trace/fork_trace.c
    > @@ -0,0 +1,132 @@
    > +/*
    > + * An example of using trace in a kprobes module
    > + *
    > + * Copyright (C) 2007 IBM Inc.
    > + *
    > + * David Wilder
    > + *
    > + * This program is free software; you can redistribute it and/or modify
    > + * it under the terms of the GNU General Public License version 2 as
    > + * published by the Free Software Foundation.
    > + *
    > + * This program is distributed in the hope that it will be useful,
    > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    > + * GNU General Public License for more details.
    > + *
    > + * You should have received a copy of the GNU General Public License
    > + * along with this program; if not, write to the Free Software
    > + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    > + *
    > + * -------
    > + * This module creates a trace channel and places a kprobe
    > + * on the function do_fork(). The value of current->pid is written to
    > + * the trace channel each time the kprobe is hit..
    > + *
    > + * How to run the example:
    > + * $ mount -t debugfs /debug
    > + * $ insmod fork_trace.ko
    > + *
    > + * To view the data produced by the module:
    > + * $ cat /debug/trace_example/do_fork/trace0
    > + *
    > + */
    > +
    > +#include
    > +#include
    > +#include
    > +#include
    > +
    > +#define USE_GLOBAL_BUFFERS 1
    > +#define USE_FLIGHT 1
    > +
    > +#define PROBE_POINT "do_fork"
    > +
    > +static struct kprobe kp;
    > +static struct trace_info *kprobes_trace;
    > +
    > +#ifdef USE_GLOBAL_BUFFERS
    > +static DEFINE_SPINLOCK(trace_lock);
    > +#endif
    > +
    > +/*
    > + * Send formatted trace data to trace channel.
    > + * @note Preemption must be disabled to use this.
    > + */
    > +static void trace_printf(struct trace_info *trace, const char *format, ...)
    > +{
    > + va_list ap, aq;
    > + char *record;
    > + unsigned long flags;
    > + int len;
    > +
    > + if (!trace)
    > + return;
    > +
    > +#ifdef USE_GLOBAL_BUFFERS
    > + spin_lock_irqsave(&trace_lock, flags);
    > +#endif
    > + if (trace_running(trace)) {
    > + va_start(ap, format);
    > + va_copy(aq, ap);
    > + len = vsnprintf(NULL, 0, format, aq);
    > + va_end(aq);
    > + record = relay_reserve(trace->rchan, ++len);
    > + if (record)
    > + vsnprintf(record, len, format, ap);
    > + va_end(ap);
    > + }
    > +#ifdef USE_GLOBAL_BUFFERS
    > + spin_unlock_irqrestore(&trace_lock, flags);
    > +#endif
    > +}
    > +
    > +static int handler_pre(struct kprobe *p, struct pt_regs *regs)
    > +{
    > + rcu_read_lock();
    > + trace_printf(kprobes_trace, "%d\n", current->pid);
    > + rcu_read_unlock();
    > + return 0;
    > +}
    > +
    > +int init_module(void)
    > +{
    > + int ret;
    > + u32 flags = 0;
    > +
    > +#ifdef USE_GLOBAL_BUFFERS
    > + flags |= TRACE_GLOBAL_CHANNEL;
    > +#endif
    > +
    > +#ifdef USE_FLIGHT
    > + flags |= TRACE_FLIGHT_CHANNEL;
    > +#endif
    > +
    > + /* setup the trace */
    > + kprobes_trace = trace_setup("trace_example", PROBE_POINT,
    > + 1024, 8, flags);
    > + if (IS_ERR(kprobes_trace))
    > + return PTR_ERR(kprobes_trace);
    > +
    > + trace_start(kprobes_trace);
    > +
    > + /* setup the kprobe */
    > + kp.pre_handler = handler_pre;
    > + kp.post_handler = NULL;
    > + kp.fault_handler = NULL;
    > + kp.symbol_name = PROBE_POINT;
    > + ret = register_kprobe(&kp);
    > + if (ret) {
    > + printk(KERN_ERR "fork_trace: register_kprobe failed\n");
    > + return ret;
    > + }
    > + return 0;
    > +}
    > +
    > +void cleanup_module(void)
    > +{
    > + unregister_kprobe(&kp);
    > + trace_stop(kprobes_trace);
    > + trace_cleanup(kprobes_trace);
    > +}
    > +MODULE_LICENSE("GPL");
    >
    >
    > -
    > 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/
    >



    ---
    ~Randy
    Phaedrus says that Quality is about caring.
    -
    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: [RFC Patch] Trace - Samples

    * Randy Dunlap (randy.dunlap@oracle.com) wrote:
    > On Tue, 25 Sep 2007 13:35:47 -0700 David J. Wilder wrote:
    >
    > > This patch Moves the trace example into the new samples/ infrastructure
    > >
    > > Requires: [patch 3/5] Add samples subdir (http://lkml.org/lkml/2007/9/25/157)
    > > and create samples/Makefile or apply:
    > > [patch 4/5] Linux Kernel Markers - Samples (http://lkml.org/lkml/2007/9/25/166)
    > >
    > > Signed-off-by: David Wilder

    >
    > Looks good. Thanks.
    >
    > Acked-by: Randy Dunlap
    >
    > Andrew, Mathieu is making changes to patch 3/5 referenced above.
    > When that is done, do you need a resend of all of these samples/
    > patches or do you have them straight?
    >
    > Basically we have:
    > a. add samples/ infrastructure (new coming from Mathieu)
    > b. add markers to samples/ (Mathieu)

    Mine is correct as is. (with the new samples infrastructure)

    Mathieu

    > c. add trace/ to samples/ (this patch from David)
    > d. add kprobes/ to samples (move some from Documentation)
    >
    >
    > > ---
    > > samples/Kbuild | 2 -
    > > samples/Kconfig | 5 ++
    > > samples/Makefile | 3 +
    > > samples/trace/Makefile | 4 +
    > > samples/trace/fork_trace.c | 132 ++++++++++++++++++++++++++++++++++++++++++++
    > > 5 files changed, 144 insertions(+), 2 deletions(-)
    > >
    > > diff --git a/samples/Kbuild b/samples/Kbuild
    > > deleted file mode 100644
    > > index 8af00e9..0000000
    > > --- a/samples/Kbuild
    > > +++ /dev/null
    > > @@ -1,2 +0,0 @@
    > > -# Makefile for Linux samples code
    > > -
    > > diff --git a/samples/Kconfig b/samples/Kconfig
    > > index b46b4cf..e5c6963 100644
    > > --- a/samples/Kconfig
    > > +++ b/samples/Kconfig
    > > @@ -7,5 +7,10 @@ menuconfig SAMPLES
    > >
    > > if SAMPLES
    > >
    > > +config SAMPLE_TRACE
    > > + tristate "Build trace example -- loadable modules only"
    > > + depends on TRACE && m
    > > + help
    > > + This builds a trace example module.
    > >
    > > endif # SAMPLES
    > > diff --git a/samples/Makefile b/samples/Makefile
    > > new file mode 100644
    > > index 0000000..07a32e6
    > > --- /dev/null
    > > +++ b/samples/Makefile
    > > @@ -0,0 +1,3 @@
    > > +# Makefile for Linux samples code
    > > +
    > > +obj-$(CONFIG_SAMPLES) += trace/
    > > diff --git a/samples/trace/Makefile b/samples/trace/Makefile
    > > new file mode 100644
    > > index 0000000..a2da8af
    > > --- /dev/null
    > > +++ b/samples/trace/Makefile
    > > @@ -0,0 +1,4 @@
    > > +# builds the trace example kernel modules;
    > > +# then to use (as root): insmod
    > > +
    > > +obj-$(CONFIG_SAMPLE_TRACE) := fork_trace.o
    > > diff --git a/samples/trace/fork_trace.c b/samples/trace/fork_trace.c
    > > new file mode 100644
    > > index 0000000..71c04c7
    > > --- /dev/null
    > > +++ b/samples/trace/fork_trace.c
    > > @@ -0,0 +1,132 @@
    > > +/*
    > > + * An example of using trace in a kprobes module
    > > + *
    > > + * Copyright (C) 2007 IBM Inc.
    > > + *
    > > + * David Wilder
    > > + *
    > > + * This program is free software; you can redistribute it and/or modify
    > > + * it under the terms of the GNU General Public License version 2 as
    > > + * published by the Free Software Foundation.
    > > + *
    > > + * This program is distributed in the hope that it will be useful,
    > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    > > + * GNU General Public License for more details.
    > > + *
    > > + * You should have received a copy of the GNU General Public License
    > > + * along with this program; if not, write to the Free Software
    > > + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    > > + *
    > > + * -------
    > > + * This module creates a trace channel and places a kprobe
    > > + * on the function do_fork(). The value of current->pid is written to
    > > + * the trace channel each time the kprobe is hit..
    > > + *
    > > + * How to run the example:
    > > + * $ mount -t debugfs /debug
    > > + * $ insmod fork_trace.ko
    > > + *
    > > + * To view the data produced by the module:
    > > + * $ cat /debug/trace_example/do_fork/trace0
    > > + *
    > > + */
    > > +
    > > +#include
    > > +#include
    > > +#include
    > > +#include
    > > +
    > > +#define USE_GLOBAL_BUFFERS 1
    > > +#define USE_FLIGHT 1
    > > +
    > > +#define PROBE_POINT "do_fork"
    > > +
    > > +static struct kprobe kp;
    > > +static struct trace_info *kprobes_trace;
    > > +
    > > +#ifdef USE_GLOBAL_BUFFERS
    > > +static DEFINE_SPINLOCK(trace_lock);
    > > +#endif
    > > +
    > > +/*
    > > + * Send formatted trace data to trace channel.
    > > + * @note Preemption must be disabled to use this.
    > > + */
    > > +static void trace_printf(struct trace_info *trace, const char *format, ...)
    > > +{
    > > + va_list ap, aq;
    > > + char *record;
    > > + unsigned long flags;
    > > + int len;
    > > +
    > > + if (!trace)
    > > + return;
    > > +
    > > +#ifdef USE_GLOBAL_BUFFERS
    > > + spin_lock_irqsave(&trace_lock, flags);
    > > +#endif
    > > + if (trace_running(trace)) {
    > > + va_start(ap, format);
    > > + va_copy(aq, ap);
    > > + len = vsnprintf(NULL, 0, format, aq);
    > > + va_end(aq);
    > > + record = relay_reserve(trace->rchan, ++len);
    > > + if (record)
    > > + vsnprintf(record, len, format, ap);
    > > + va_end(ap);
    > > + }
    > > +#ifdef USE_GLOBAL_BUFFERS
    > > + spin_unlock_irqrestore(&trace_lock, flags);
    > > +#endif
    > > +}
    > > +
    > > +static int handler_pre(struct kprobe *p, struct pt_regs *regs)
    > > +{
    > > + rcu_read_lock();
    > > + trace_printf(kprobes_trace, "%d\n", current->pid);
    > > + rcu_read_unlock();
    > > + return 0;
    > > +}
    > > +
    > > +int init_module(void)
    > > +{
    > > + int ret;
    > > + u32 flags = 0;
    > > +
    > > +#ifdef USE_GLOBAL_BUFFERS
    > > + flags |= TRACE_GLOBAL_CHANNEL;
    > > +#endif
    > > +
    > > +#ifdef USE_FLIGHT
    > > + flags |= TRACE_FLIGHT_CHANNEL;
    > > +#endif
    > > +
    > > + /* setup the trace */
    > > + kprobes_trace = trace_setup("trace_example", PROBE_POINT,
    > > + 1024, 8, flags);
    > > + if (IS_ERR(kprobes_trace))
    > > + return PTR_ERR(kprobes_trace);
    > > +
    > > + trace_start(kprobes_trace);
    > > +
    > > + /* setup the kprobe */
    > > + kp.pre_handler = handler_pre;
    > > + kp.post_handler = NULL;
    > > + kp.fault_handler = NULL;
    > > + kp.symbol_name = PROBE_POINT;
    > > + ret = register_kprobe(&kp);
    > > + if (ret) {
    > > + printk(KERN_ERR "fork_trace: register_kprobe failed\n");
    > > + return ret;
    > > + }
    > > + return 0;
    > > +}
    > > +
    > > +void cleanup_module(void)
    > > +{
    > > + unregister_kprobe(&kp);
    > > + trace_stop(kprobes_trace);
    > > + trace_cleanup(kprobes_trace);
    > > +}
    > > +MODULE_LICENSE("GPL");
    > >
    > >
    > > -
    > > 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/
    > >

    >
    >
    > ---
    > ~Randy
    > Phaedrus says that Quality is about caring.


    --
    Mathieu Desnoyers
    Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
    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/

  4. Re: [RFC Patch] Trace - Samples

    Mathieu Desnoyers wrote:
    > * Randy Dunlap (randy.dunlap@oracle.com) wrote:
    >> On Tue, 25 Sep 2007 13:35:47 -0700 David J. Wilder wrote:
    >>
    >>> This patch Moves the trace example into the new samples/ infrastructure
    >>>
    >>> Requires: [patch 3/5] Add samples subdir (http://lkml.org/lkml/2007/9/25/157)
    >>> and create samples/Makefile or apply:
    >>> [patch 4/5] Linux Kernel Markers - Samples (http://lkml.org/lkml/2007/9/25/166)
    >>>
    >>> Signed-off-by: David Wilder

    >> Looks good. Thanks.
    >>
    >> Acked-by: Randy Dunlap
    >>
    >> Andrew, Mathieu is making changes to patch 3/5 referenced above.
    >> When that is done, do you need a resend of all of these samples/
    >> patches or do you have them straight?
    >>
    >> Basically we have:
    >> a. add samples/ infrastructure (new coming from Mathieu)
    >> b. add markers to samples/ (Mathieu)

    > Mine is correct as is. (with the new samples infrastructure)
    >


    Right, your 2 can be the base (basis) for samples/, then the other
    follow-ups can be applied.

    >
    >> c. add trace/ to samples/ (this patch from David)
    >> d. add kprobes/ to samples (move some from Documentation)



    --
    ~Randy
    Phaedrus says that Quality is about caring.
    -
    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: [RFC Patch] Trace - Samples

    Randy Dunlap wrote:
    > Mathieu Desnoyers wrote:
    >> * Randy Dunlap (randy.dunlap@oracle.com) wrote:
    >>> On Tue, 25 Sep 2007 13:35:47 -0700 David J. Wilder wrote:
    >>>
    >>>> This patch Moves the trace example into the new samples/ infrastructure
    >>>>
    >>>> Requires: [patch 3/5] Add samples subdir
    >>>> (http://lkml.org/lkml/2007/9/25/157)
    >>>> and create samples/Makefile or apply: [patch 4/5] Linux Kernel
    >>>> Markers - Samples (http://lkml.org/lkml/2007/9/25/166)
    >>>> Signed-off-by: David Wilder
    >>> Looks good. Thanks.
    >>>
    >>> Acked-by: Randy Dunlap
    >>>
    >>> Andrew, Mathieu is making changes to patch 3/5 referenced above.
    >>> When that is done, do you need a resend of all of these samples/
    >>> patches or do you have them straight?
    >>>
    >>> Basically we have:
    >>> a. add samples/ infrastructure (new coming from Mathieu)
    >>> b. add markers to samples/ (Mathieu)

    >> Mine is correct as is. (with the new samples infrastructure)
    >>

    >
    > Right, your 2 can be the base (basis) for samples/, then the other
    > follow-ups can be applied.
    >
    >>
    >>> c. add trace/ to samples/ (this patch from David)


    I need to re-test the trace-sample patch against Mathieu's new
    infrastructure patch. I also need to re-post the trace patch with the
    sample removed. I will re-post both later today.

    >>> d. add kprobes/ to samples (move some from Documentation)

    >
    >


    -
    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