29 Apr, 2008

1 commit


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
     

15 Nov, 2007

1 commit


20 Oct, 2007

1 commit