16 Jun, 2009

2 commits


07 May, 2009

1 commit

  • When creating trace events for ftrace, the header file with the TRACE_EVENT
    macros must also have a macro called TRACE_SYSTEM. This macro describes
    the name of the system the TRACE_EVENTS are defined for. It also doubles
    as a way for the define_trace.h file to include the file that included
    it.

    For example:

    in irq.h

    #define TRACE_SYSTEM irq

    [...]

    #include

    The define_trace will use TRACE_SYSTEM to include irq.h. But if the name
    of the trace system does not match the name of the trace header file,
    one can override it with:

    Which will change define_trace.h to inclued foo_trace.h instead of foo.h

    The sample comments this, but people that use the sample code will more
    likely use the code and not read the comments. This patch changes the
    sample code to use the TRACE_INCLUDE_FILE to better show developers how to
    use it.

    [ Impact: make sample less confusing to developers ]

    Reported-by: Christoph Hellwig
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

06 May, 2009

3 commits


15 Apr, 2009

1 commit


25 Mar, 2009

1 commit

  • Fix the tracepoint documentation to refer to "tracepoint-sample"
    instead of "tracepoint-example" to match what actually exists;
    fix the directory, and clarify how to compile.

    Change every instance of "example" in the sample tracepoint code
    to "sample" for consistency.

    Signed-off-by: Jody McIntyre
    Acked-by: Mathieu Desnoyers
    Cc: torvalds@linux-foundation.org
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jody McIntyre
     

10 Mar, 2009

1 commit


07 Jan, 2009

1 commit


16 Nov, 2008

2 commits

  • Impact: API *CHANGE*. Must update all tracepoint users.

    Add DEFINE_TRACE() to tracepoints to let them declare the tracepoint
    structure in a single spot for all the kernel. It helps reducing memory
    consumption, especially when declaring a lot of tracepoints, e.g. for
    kmalloc tracing.

    *API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for
    tracepoint declarations rather than DEFINE_TRACE(). This is the sane way
    to do it. The name previously used was misleading.

    Updates scheduler instrumentation to follow this API change.

    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     
  • Impact: fix a bug in sample tracepoints

    Need a tracepoint_synchronize_unregister() before the end of exit() to
    make sure every probe callers have exited the non preemptible section
    and thus are not executing the probe code anymore.

    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     

14 Oct, 2008

2 commits


22 Jul, 2008

2 commits


29 Apr, 2008

1 commit


22 Apr, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits)
    DOC: A couple corrections and clarifications in USB doc.
    Generate a slightly more informative error msg for bad HZ
    fix typo "is" -> "if" in Makefile
    ext*: spelling fix prefered -> preferred
    DOCUMENTATION: Use newer DEFINE_SPINLOCK macro in docs.
    KEYS: Fix the comment to match the file name in rxrpc-type.h.
    RAID: remove trailing space from printk line
    DMA engine: typo fixes
    Remove unused MAX_NODES_SHIFT
    MAINTAINERS: Clarify access to OCFS2 development mailing list.
    V4L: Storage class should be before const qualifier (sn9c102)
    V4L: Storage class should be before const qualifier
    sonypi: Storage class should be before const qualifier
    intel_menlow: Storage class should be before const qualifier
    DVB: Storage class should be before const qualifier
    arm: Storage class should be before const qualifier
    ALSA: Storage class should be before const qualifier
    acpi: Storage class should be before const qualifier
    firmware_sample_driver.c: fix coding style
    MAINTAINERS: Add ati_remote2 driver
    ...

    Fixed up trivial conflicts in firmware_sample_driver.c

    Linus Torvalds
     

20 Apr, 2008

2 commits


05 Mar, 2008

1 commit

  • Move kprobes examples from Documentation/kprobes.txt to under samples/.
    Patch originally by Randy Dunlap.

    o Updated the patch to apply on 2.6.25-rc3
    o Modified examples code to build on multiple architectures. Currently,
    the kprobe and jprobe examples code works for x86 and powerpc
    o Cleaned up unneeded #includes
    o Cleaned up Kconfig per Sam Ravnborg's suggestions to fix build break
    on archs that don't have kretprobes
    o Implemented suggestions by Mathieu Desnoyers on CONFIG_KRETPROBES
    o Included Andrew Morton's cleanup based on x86-git
    o Modified kretprobe_example to act as a arch-agnostic module to
    determine routine execution times:
    Use 'modprobe kretprobe_example func=' to determine
    execution time of func_name in nanoseconds.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Ananth N Mavinakayanahalli
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ananth N Mavinakayanahalli
     

14 Feb, 2008

1 commit

  • RCU style multiple probes support for the Linux Kernel Markers. Common case
    (one probe) is still fast and does not require dynamic allocation or a
    supplementary pointer dereference on the fast path.

    - Move preempt disable from the marker site to the callback.

    Since we now have an internal callback, move the preempt disable/enable to the
    callback instead of the marker site.

    Since the callback change is done asynchronously (passing from a handler that
    supports arguments to a handler that does not setup the arguments is no
    arguments are passed), we can safely update it even if it is outside the
    preempt disable section.

    - Move probe arm to probe connection. Now, a connected probe is automatically
    armed.

    Remove MARK_MAX_FORMAT_LEN, unused.

    This patch modifies the Linux Kernel Markers API : it removes the probe
    "arm/disarm" and changes the probe function prototype : it now expects a
    va_list * instead of a "...".

    If we want to have more than one probe connected to a marker at a given
    time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
    connecting a second probe handler to a marker will fail.

    It allow us, for instance, to do interesting combinations :

    Do standard tracing with LTTng and, eventually, to compute statistics
    with SystemTAP, or to have a special trigger on an event that would call
    a systemtap script which would stop flight recorder tracing.

    Signed-off-by: Mathieu Desnoyers
    Cc: Christoph Hellwig
    Cc: Mike Mason
    Cc: Dipankar Sarma
    Cc: David Smith
    Cc: "Paul E. McKenney"
    Cc: "Frank Ch. Eigler"
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     

25 Jan, 2008

2 commits


15 Nov, 2007

1 commit


20 Oct, 2007

2 commits

  • Module example showing how to use the Linux Kernel Markers.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Begin infrastructure for kernel code samples in the samples/ directory.
    Add its Kconfig and Kbuild files.
    Source its Kconfig file in all arch/ Kconfigs.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers