diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 15:23:47 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 15:23:47 -0700 | 
| commit | c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9 (patch) | |
| tree | 40d5e99660c77c5791392d349a93113c044dbf14 /kernel/trace/trace_workqueue.c | |
| parent | cad719d86e9dbd06634eaba6401e022c8101d6b2 (diff) | |
| parent | 49c177461bfbedeccbab22bf3905db2f9da7f1c3 (diff) | |
| download | olio-linux-3.10-c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9.tar.xz olio-linux-3.10-c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9.zip  | |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)
  tracing: Add __used annotation to event variable
  perf, trace: Fix !x86 build bug
  perf report: Support multiple events on the TUI
  perf annotate: Fix up usage of the build id cache
  x86/mmiotrace: Remove redundant instruction prefix checks
  perf annotate: Add TUI interface
  perf tui: Remove annotate from popup menu after failure
  perf report: Don't start the TUI if -D is used
  perf: Fix getline undeclared
  perf: Optimize perf_tp_event_match()
  perf: Remove more code from the fastpath
  perf: Optimize the !vmalloc backed buffer
  perf: Optimize perf_output_copy()
  perf: Fix wakeup storm for RO mmap()s
  perf-record: Share per-cpu buffers
  perf-record: Remove -M
  perf: Ensure that IOC_OUTPUT isn't used to create multi-writer buffers
  perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events
  perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction
  perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig
  ...
Diffstat (limited to 'kernel/trace/trace_workqueue.c')
| -rw-r--r-- | kernel/trace/trace_workqueue.c | 26 | 
1 files changed, 15 insertions, 11 deletions
diff --git a/kernel/trace/trace_workqueue.c b/kernel/trace/trace_workqueue.c index cc2d2faa7d9..a7cc3793baf 100644 --- a/kernel/trace/trace_workqueue.c +++ b/kernel/trace/trace_workqueue.c @@ -49,7 +49,8 @@ static void cpu_workqueue_stat_free(struct kref *kref)  /* Insertion of a work */  static void -probe_workqueue_insertion(struct task_struct *wq_thread, +probe_workqueue_insertion(void *ignore, +			  struct task_struct *wq_thread,  			  struct work_struct *work)  {  	int cpu = cpumask_first(&wq_thread->cpus_allowed); @@ -70,7 +71,8 @@ found:  /* Execution of a work */  static void -probe_workqueue_execution(struct task_struct *wq_thread, +probe_workqueue_execution(void *ignore, +			  struct task_struct *wq_thread,  			  struct work_struct *work)  {  	int cpu = cpumask_first(&wq_thread->cpus_allowed); @@ -90,7 +92,8 @@ found:  }  /* Creation of a cpu workqueue thread */ -static void probe_workqueue_creation(struct task_struct *wq_thread, int cpu) +static void probe_workqueue_creation(void *ignore, +				     struct task_struct *wq_thread, int cpu)  {  	struct cpu_workqueue_stats *cws;  	unsigned long flags; @@ -114,7 +117,8 @@ static void probe_workqueue_creation(struct task_struct *wq_thread, int cpu)  }  /* Destruction of a cpu workqueue thread */ -static void probe_workqueue_destruction(struct task_struct *wq_thread) +static void +probe_workqueue_destruction(void *ignore, struct task_struct *wq_thread)  {  	/* Workqueue only execute on one cpu */  	int cpu = cpumask_first(&wq_thread->cpus_allowed); @@ -259,19 +263,19 @@ int __init trace_workqueue_early_init(void)  {  	int ret, cpu; -	ret = register_trace_workqueue_insertion(probe_workqueue_insertion); +	ret = register_trace_workqueue_insertion(probe_workqueue_insertion, NULL);  	if (ret)  		goto out; -	ret = register_trace_workqueue_execution(probe_workqueue_execution); +	ret = register_trace_workqueue_execution(probe_workqueue_execution, NULL);  	if (ret)  		goto no_insertion; -	ret = register_trace_workqueue_creation(probe_workqueue_creation); +	ret = register_trace_workqueue_creation(probe_workqueue_creation, NULL);  	if (ret)  		goto no_execution; -	ret = register_trace_workqueue_destruction(probe_workqueue_destruction); +	ret = register_trace_workqueue_destruction(probe_workqueue_destruction, NULL);  	if (ret)  		goto no_creation; @@ -283,11 +287,11 @@ int __init trace_workqueue_early_init(void)  	return 0;  no_creation: -	unregister_trace_workqueue_creation(probe_workqueue_creation); +	unregister_trace_workqueue_creation(probe_workqueue_creation, NULL);  no_execution: -	unregister_trace_workqueue_execution(probe_workqueue_execution); +	unregister_trace_workqueue_execution(probe_workqueue_execution, NULL);  no_insertion: -	unregister_trace_workqueue_insertion(probe_workqueue_insertion); +	unregister_trace_workqueue_insertion(probe_workqueue_insertion, NULL);  out:  	pr_warning("trace_workqueue: unable to trace workqueues\n");  |