aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_event.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2010-02-27 10:18:46 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2010-02-27 10:18:46 -0500
commit018cbffe6819f6f8db20a0a3acd9bab9bfd667e4 (patch)
treefadde2521591998dc653fa094c636e8a547e620d /kernel/perf_event.c
parent1dd2980d990068e20045b90c424518cc7f3657ff (diff)
parent60b341b778cc2929df16c0a504c91621b3c6a4ad (diff)
Merge commit 'v2.6.33' into perf/core
Merge reason: __percpu annotations need the corresponding sparse address space definition upstream. Conflicts: tools/perf/util/probe-event.c (trivial)
Diffstat (limited to 'kernel/perf_event.c')
-rw-r--r--kernel/perf_event.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index aa6155b5e24c..a661e7991865 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -3407,8 +3407,6 @@ static void perf_event_task_output(struct perf_event *event,
3407 task_event->event_id.tid = perf_event_tid(event, task); 3407 task_event->event_id.tid = perf_event_tid(event, task);
3408 task_event->event_id.ptid = perf_event_tid(event, current); 3408 task_event->event_id.ptid = perf_event_tid(event, current);
3409 3409
3410 task_event->event_id.time = perf_clock();
3411
3412 perf_output_put(&handle, task_event->event_id); 3410 perf_output_put(&handle, task_event->event_id);
3413 3411
3414 perf_output_end(&handle); 3412 perf_output_end(&handle);
@@ -3416,7 +3414,7 @@ static void perf_event_task_output(struct perf_event *event,
3416 3414
3417static int perf_event_task_match(struct perf_event *event) 3415static int perf_event_task_match(struct perf_event *event)
3418{ 3416{
3419 if (event->state != PERF_EVENT_STATE_ACTIVE) 3417 if (event->state < PERF_EVENT_STATE_INACTIVE)
3420 return 0; 3418 return 0;
3421 3419
3422 if (event->cpu != -1 && event->cpu != smp_processor_id()) 3420 if (event->cpu != -1 && event->cpu != smp_processor_id())
@@ -3448,7 +3446,7 @@ static void perf_event_task_event(struct perf_task_event *task_event)
3448 cpuctx = &get_cpu_var(perf_cpu_context); 3446 cpuctx = &get_cpu_var(perf_cpu_context);
3449 perf_event_task_ctx(&cpuctx->ctx, task_event); 3447 perf_event_task_ctx(&cpuctx->ctx, task_event);
3450 if (!ctx) 3448 if (!ctx)
3451 ctx = rcu_dereference(task_event->task->perf_event_ctxp); 3449 ctx = rcu_dereference(current->perf_event_ctxp);
3452 if (ctx) 3450 if (ctx)
3453 perf_event_task_ctx(ctx, task_event); 3451 perf_event_task_ctx(ctx, task_event);
3454 put_cpu_var(perf_cpu_context); 3452 put_cpu_var(perf_cpu_context);
@@ -3479,6 +3477,7 @@ static void perf_event_task(struct task_struct *task,
3479 /* .ppid */ 3477 /* .ppid */
3480 /* .tid */ 3478 /* .tid */
3481 /* .ptid */ 3479 /* .ptid */
3480 .time = perf_clock(),
3482 }, 3481 },
3483 }; 3482 };
3484 3483
@@ -3528,7 +3527,7 @@ static void perf_event_comm_output(struct perf_event *event,
3528 3527
3529static int perf_event_comm_match(struct perf_event *event) 3528static int perf_event_comm_match(struct perf_event *event)
3530{ 3529{
3531 if (event->state != PERF_EVENT_STATE_ACTIVE) 3530 if (event->state < PERF_EVENT_STATE_INACTIVE)
3532 return 0; 3531 return 0;
3533 3532
3534 if (event->cpu != -1 && event->cpu != smp_processor_id()) 3533 if (event->cpu != -1 && event->cpu != smp_processor_id())
@@ -3648,7 +3647,7 @@ static void perf_event_mmap_output(struct perf_event *event,
3648static int perf_event_mmap_match(struct perf_event *event, 3647static int perf_event_mmap_match(struct perf_event *event,
3649 struct perf_mmap_event *mmap_event) 3648 struct perf_mmap_event *mmap_event)
3650{ 3649{
3651 if (event->state != PERF_EVENT_STATE_ACTIVE) 3650 if (event->state < PERF_EVENT_STATE_INACTIVE)
3652 return 0; 3651 return 0;
3653 3652
3654 if (event->cpu != -1 && event->cpu != smp_processor_id()) 3653 if (event->cpu != -1 && event->cpu != smp_processor_id())
@@ -4728,7 +4727,7 @@ static int perf_copy_attr(struct perf_event_attr __user *uattr,
4728 if (attr->type >= PERF_TYPE_MAX) 4727 if (attr->type >= PERF_TYPE_MAX)
4729 return -EINVAL; 4728 return -EINVAL;
4730 4729
4731 if (attr->__reserved_1 || attr->__reserved_2) 4730 if (attr->__reserved_1)
4732 return -EINVAL; 4731 return -EINVAL;
4733 4732
4734 if (attr->sample_type & ~(PERF_SAMPLE_MAX-1)) 4733 if (attr->sample_type & ~(PERF_SAMPLE_MAX-1))