1. 09 10月, 2009 1 次提交
  2. 08 10月, 2009 5 次提交
  3. 06 10月, 2009 1 次提交
  4. 05 10月, 2009 2 次提交
  5. 24 9月, 2009 2 次提交
  6. 23 9月, 2009 1 次提交
  7. 22 9月, 2009 4 次提交
  8. 21 9月, 2009 5 次提交
    • J
      trivial: remove unnecessary semicolons · a419aef8
      Joe Perches 提交于
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      a419aef8
    • U
      trivial: Fix duplicated word "options" in comment · 2944fcbe
      Uwe Kleine-Koenig 提交于
      this was introduced in
      
      	5e0a0939 (tracing: fix config options to not show when automatically selected)
      Signed-off-by: NUwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: trivial@kernel.org
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      2944fcbe
    • I
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar 提交于
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: NStephane Eranian <eranian@google.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Reviewed-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cdd6c482
    • A
      sched: Fix raciness in runqueue_is_locked() · 89f19f04
      Andrew Morton 提交于
      runqueue_is_locked() is unavoidably racy due to a poor interface design.
      It does
      
      	cpu = get_cpu()
      	ret = some_perpcu_thing(cpu);
      	put_cpu(cpu);
      	return ret;
      
      Its return value is unreliable.
      
      Fix.
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <200909191855.n8JItiko022148@imap1.linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      89f19f04
    • P
      tracing: Export trace_profile_buf symbols · 05bafda8
      Peter Zijlstra 提交于
      ERROR: "trace_profile_buf_nmi" [fs/jbd2/jbd2.ko] undefined!
      ERROR: "trace_profile_buf" [fs/jbd2/jbd2.ko] undefined!
      ERROR: "trace_profile_buf_nmi" [fs/ext4/ext4.ko] undefined!
      ERROR: "trace_profile_buf" [fs/ext4/ext4.ko] undefined!
      ERROR: "trace_profile_buf_nmi" [arch/x86/kvm/kvm.ko] undefined!
      ERROR: "trace_profile_buf" [arch/x86/kvm/kvm.ko] undefined!
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1253442878.7542.3.camel@laptop>
      [ fixed whitespace noise and checkpatch complaint ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      05bafda8
  9. 20 9月, 2009 1 次提交
  10. 19 9月, 2009 5 次提交
  11. 18 9月, 2009 3 次提交
    • F
      tracing: Allocate the ftrace event profile buffer dynamically · 20ab4425
      Frederic Weisbecker 提交于
      Currently the trace event profile buffer is allocated in the stack. But
      this may be too much for the stack, as the events can have large
      statically defined field size and can also grow with dynamic arrays.
      
      Allocate two per cpu buffer for all profiled events. The first cpu
      buffer is used to host every non-nmi context traces. It is protected
      by disabling the interrupts while writing and committing the trace.
      
      The second buffer is reserved for nmi. So that there is no race between
      them and the first buffer.
      
      The whole write/commit section is rcu protected because we release
      these buffers while deactivating the last profiling trace event.
      
      v2: Move the buffers from trace_event to be global, as pointed by
          Steven Rostedt.
      
      v3: Fix the syscall events to handle the profiling buffer races
          by disabling interrupts, now that the buffers are globals.
      Suggested-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      20ab4425
    • F
      tracing: Factorize the events profile accounting · e5e25cf4
      Frederic Weisbecker 提交于
      Factorize the events enabling accounting in a common tracing core
      helper. This reduces the size of the profile_enable() and
      profile_disable() callbacks for each trace events.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NLi Zefan <lizf@cn.fujitsu.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      e5e25cf4
    • S
      tracing: switch function prints from %pf to %ps · b375a11a
      Steven Rostedt 提交于
      For direct function pointers (like what mcount provides) PowerPC64
      requires the use of %ps, otherwise nothing is printed.
      
      This patch converts all prints of functions retrieved through mcount
      to use the %ps format from the %pf.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      b375a11a
  12. 16 9月, 2009 2 次提交
  13. 15 9月, 2009 1 次提交
  14. 14 9月, 2009 6 次提交
    • S
      tracing: make testing syscall events a separate configuration · 1f5a6b45
      Steven Rostedt 提交于
      Parag noticed that the number of event tests has increased tremendously:
      
      grep "Testing event" dmesg.31rc9 |wc -l
      100
      
      grep "Testing event" dmesg.31git |wc -l
      1172
      
      This is due to the testing of every syscall event when ftrace self
      test is enabled. This adds a bit more time to kernel boot up and can
      affect development by slowing down the time it takes between reboots.
      
      This option makes the testing of the syscall events into a separate
      config, to still be able to test most of ftrace internals at boot up
      but not have to wait for all the syscall events to be tested.
      
      The syscall event testing only tests the enabling and disabling of
      the trace point, since the syscalls are not executed. What really needs
      to be done is to somehow have a userspace tool test the syscall tracepoints
      as well.
      Reported-by: NParag Warudkar <parag.lkml@gmail.com>
      LKML-Reference: <f7848160909130815l3e768a30n3b28808bbe5c254b@mail.gmail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      1f5a6b45
    • L
      tracing: remove some unused macros · 20a58a77
      Li Zefan 提交于
      - remove FTRACE_ENTRY_STRUCT_ONLY()
      - remove TRACE_XXX() macros
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      LKML-Reference: <4AADF6E6.3080606@cn.fujitsu.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      20a58a77
    • L
      ftrace: add compile-time check on F_printk() · 05ffa2d0
      Li Zefan 提交于
      Make sure F_printk() has corrent format and args, and make sure
      changes in F_STRUCT() won't break F_printk().
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      LKML-Reference: <4AADF6CC.1060809@cn.fujitsu.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      05ffa2d0
    • L
      tracing: fix F_printk() typos · c16de8fd
      Li Zefan 提交于
      I found some typos in F_printk(), so I wrote compile-time check
      for it, and triggered some compile errors and warnings.
      
      I've fixed them on x86_32, but I have no x86_64 in my hand, so there
      may still be some compile warnings on 64bits.
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      LKML-Reference: <4AADF60B.5070407@cn.fujitsu.com>
      
      [ tested on x86_64, and works fine ]
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      c16de8fd
    • 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
  15. 13 9月, 2009 1 次提交