25 Mar, 2008

2 commits

  • As Paul pointed out, the ACCESS_ONCE are not needed because we already have
    the explicit surrounding memory barriers.

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

    Mathieu Desnoyers
     
  • Add comments requested by Andrew.

    Updated comments about synchronize_sched(). Since we use call_rcu and
    rcu_barrier now, these comments were out of sync with the code.

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

    Mathieu Desnoyers
     

05 Mar, 2008

1 commit


24 Feb, 2008

1 commit

  • char can be unsigned
    kernel/marker.c:64:20: error: dubious one-bit signed bitfield
    kernel/marker.c:65:14: error: dubious one-bit signed bitfield

    Signed-off-by: Harvey Harrison
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

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

  • Upon module load, we must take the markers mutex. It implies that the marker
    mutex must be nested inside the module mutex.

    It implies changing the nesting order : now the marker mutex nests inside the
    module mutex. Make the necessary changes to reverse the order in which the
    mutexes are taken.

    Includes some cleanup from Dave Hansen .

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

    Mathieu Desnoyers
     

20 Oct, 2007

1 commit

  • The marker activation functions sits in kernel/marker.c. A hash table is used
    to keep track of the registered probes and armed markers, so the markers
    within a newly loaded module that should be active can be activated at module
    load time.

    marker_query has been removed. marker_get_first, marker_get_next and
    marker_release should be used as iterators on the markers.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Mathieu Desnoyers
    Acked-by: "Frank Ch. Eigler"
    Cc: Christoph Hellwig
    Cc: Rusty Russell
    Cc: Mike Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers