Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Aug 2010 16:30:52 +0000 (09:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Aug 2010 16:30:52 +0000 (09:30 -0700)
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
  tracing/kprobes: unregister_trace_probe needs to be called under mutex
  perf: expose event__process function
  perf events: Fix mmap offset determination
  perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
  perf, powerpc: Convert the FSL driver to use local64_t
  perf tools: Don't keep unreferenced maps when unmaps are detected
  perf session: Invalidate last_match when removing threads from rb_tree
  perf session: Free the ref_reloc_sym memory at the right place
  x86,mmiotrace: Add support for tracing STOS instruction
  perf, sched migration: Librarize task states and event headers helpers
  perf, sched migration: Librarize the GUI class
  perf, sched migration: Make the GUI class client agnostic
  perf, sched migration: Make it vertically scrollable
  perf, sched migration: Parameterize cpu height and spacing
  perf, sched migration: Fix key bindings
  perf, sched migration: Ignore unhandled task states
  perf, sched migration: Handle ignored migrate out events
  perf: New migration tool overview
  tracing: Drop cpparg() macro
  perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
  ...

Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c

13 files changed:
1  2 
Documentation/kernel-parameters.txt
MAINTAINERS
Makefile
include/asm-generic/vmlinux.lds.h
include/linux/kernel.h
init/main.c
kernel/hw_breakpoint.c
kernel/timer.c
kernel/trace/Makefile
kernel/trace/trace.c
kernel/trace/trace.h
lib/Kconfig.debug
mm/slob.c

Simple merge
diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
+++ b/Makefile
@@@ -418,9 -412,9 +418,9 @@@ endi
  # of make so .config is not included in this case either (for *config).
  
  no-dot-config-targets := clean mrproper distclean \
 -                       cscope TAGS tags help %docs check% \
 +                       cscope TAGS tags help %docs check% coccicheck \
                         include/linux/version.h headers_% \
-                        kernelversion
 -                       kernelrelease kernelversion %src-pkg
++                       kernelversion %src-pkg
  
  config-targets := 0
  mixed-targets  := 0
Simple merge
Simple merge
diff --cc init/main.c
Simple merge
@@@ -222,36 -215,32 +215,43 @@@ toggle_bp_slot(struct perf_event *bp, b
        int cpu = bp->cpu;
        struct task_struct *tsk = bp->ctx->task;
  
+       /* Pinned counter cpu profiling */
+       if (!tsk) {
+               if (enable)
+                       per_cpu(nr_cpu_bp_pinned[type], bp->cpu) += weight;
+               else
+                       per_cpu(nr_cpu_bp_pinned[type], bp->cpu) -= weight;
+               return;
+       }
        /* Pinned counter task profiling */
-       if (tsk) {
-               if (cpu >= 0) {
-                       toggle_bp_task_slot(tsk, cpu, enable, type, weight);
-                       return;
-               }
  
+       if (!enable)
+               list_del(&bp->hw.bp_list);
+       if (cpu >= 0) {
+               toggle_bp_task_slot(bp, cpu, enable, type, weight);
+       } else {
                for_each_online_cpu(cpu)
-                       toggle_bp_task_slot(tsk, cpu, enable, type, weight);
-               return;
+                       toggle_bp_task_slot(bp, cpu, enable, type, weight);
        }
  
-       /* Pinned counter cpu profiling */
        if (enable)
-               per_cpu(nr_cpu_bp_pinned[type], bp->cpu) += weight;
-       else
-               per_cpu(nr_cpu_bp_pinned[type], bp->cpu) -= weight;
+               list_add_tail(&bp->hw.bp_list, &bp_task_head);
  }
  
 +/*
 + * Function to perform processor-specific cleanup during unregistration
 + */
 +__weak void arch_unregister_hw_breakpoint(struct perf_event *bp)
 +{
 +      /*
 +       * A weak stub function here for those archs that don't define
 +       * it inside arch/.../kernel/hw_breakpoint.c
 +       */
 +}
 +
  /*
   * Contraints to check before allowing this new breakpoint counter:
   *
diff --cc kernel/timer.c
Simple merge
@@@ -55,10 -52,6 +52,9 @@@ obj-$(CONFIG_EVENT_TRACING) += trace_ev
  endif
  obj-$(CONFIG_EVENT_TRACING) += trace_events_filter.o
  obj-$(CONFIG_KPROBE_EVENT) += trace_kprobe.o
- obj-$(CONFIG_KSYM_TRACER) += trace_ksym.o
  obj-$(CONFIG_EVENT_TRACING) += power-traces.o
 +ifeq ($(CONFIG_TRACING),y)
 +obj-$(CONFIG_KGDB_KDB) += trace_kdb.o
 +endif
  
  libftrace-y := ftrace.o
Simple merge
@@@ -388,18 -351,7 +359,16 @@@ void tracing_start_sched_switch_record(
  int register_tracer(struct tracer *type);
  void unregister_tracer(struct tracer *type);
  int is_tracing_stopped(void);
 +enum trace_file_type {
 +      TRACE_FILE_LAT_FMT      = 1,
 +      TRACE_FILE_ANNOTATE     = 2,
 +};
 +
 +extern cpumask_var_t __read_mostly tracing_buffer_mask;
 +
 +#define for_each_tracing_cpu(cpu)     \
 +      for_each_cpu(cpu, tracing_buffer_mask)
  
- extern int process_new_ksym_entry(char *ksymname, int op, unsigned long addr);
  extern unsigned long nsecs_to_usecs(unsigned long nsecs);
  
  extern unsigned long tracing_thresh;
Simple merge
diff --cc mm/slob.c
Simple merge