1. 14 9月, 2009 2 次提交
    • S
      tracing: add static to generated TRACE_EVENT functions · ec827c7e
      Steven Rostedt 提交于
      Some of the generated functions used in the TRACE_EVENT macros are
      not declared static, but they are not global.
      
      Discovered by sparse.
      Reported-by: NJaswinder Singh Rajput <jaswinder@kernel.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      ec827c7e
    • S
      ring-buffer: typecast cmpxchg to fix PowerPC warning · 08a40816
      Steven Rostedt 提交于
      The cmpxchg used by PowerPC does the following:
      
        ({									 \
           __typeof__(*(ptr)) _o_ = (o);					 \
           __typeof__(*(ptr)) _n_ = (n);					 \
           (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,		 \
      				    (unsigned long)_n_, sizeof(*(ptr))); \
        })
      
      This does a type check of *ptr to both o and n.
      
      Unfortunately, the code in ring-buffer.c assigns longs to pointers
      and pointers to longs and causes a warning on PowerPC:
      
      ring_buffer.c: In function 'rb_head_page_set':
      ring_buffer.c:704: warning: initialization makes pointer from integer without a cast
      ring_buffer.c:704: warning: initialization makes pointer from integer without a cast
      ring_buffer.c: In function 'rb_head_page_replace':
      ring_buffer.c:797: warning: initialization makes integer from pointer without a cast
      
      This patch adds the typecasts inside cmpxchg to annotate that a long is
      being cast to a pointer and a pointer is being casted to a long and this
      removes the PowerPC warnings.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      08a40816
  2. 13 9月, 2009 13 次提交
  3. 12 9月, 2009 5 次提交
  4. 11 9月, 2009 3 次提交
    • S
      tracing: move tgid out of generic entry and into userstack · 48659d31
      Steven Rostedt 提交于
      The userstack trace required the recording of the tgid entry.
      Unfortunately, it was added to the generic entry where it wasted
      4 bytes of every entry and was only used by one entry.
      
      This patch moves it out of the generic field and moves it into the
      only user (userstack_entry).
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      48659d31
    • S
      tracing: add latency format to function_graph tracer · 49ff5903
      Steven Rostedt 提交于
      While debugging something with the function_graph tracer, I found the
      need to see the preempt count of the traces. Unfortunately, since
      the function graph tracer has its own output formatting, it does not
      honor the latency-format option.
      
      This patch makes the function_graph tracer honor the latency-format
      option, but still keeps control of the output. But now we have the
      same details that the latency-format supplies.
      
       # tracer: function_graph
       #
       #      _-----=> irqs-off
       #     / _----=> need-resched
       #    | / _---=> hardirq/softirq
       #    || / _--=> preempt-depth
       #    ||| /
       #    ||||
       # CPU||||  DURATION                  FUNCTION CALLS
       # |  ||||   |   |                     |   |   |   |
        3)  d..1  1.333 us    |        idle_cpu();
        3)  d.h1              |        tick_check_idle() {
        3)  d.h1  0.550 us    |          tick_check_oneshot_broadcast();
        3)  d.h1              |          tick_nohz_stop_idle() {
        3)  d.h1              |            ktime_get() {
        3)  d.h1              |              ktime_get_ts() {
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      49ff5903
    • S
      x86/tracing: comment need for atomic nop · fc06b852
      Steven Rostedt 提交于
      The dynamic function tracer relys on the macro P6_NOP5 always being
      an atomic NOP. If for some reason it is changed to be two operations
      (like a nop2 nop3) it can faults within the kernel when the function
      tracer modifies the code.
      
      This patch adds a comment to note that the P6_NOPs are expected to
      be atomic. This will hopefully prevent anyone from changing that.
      Reported-by: NMathieu Desnoyer <mathieu.desnoyers@polymtl.ca>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      fc06b852
  5. 10 9月, 2009 6 次提交
  6. 06 9月, 2009 11 次提交