diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2010-02-27 10:18:46 -0500 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-02-27 10:18:46 -0500 |
commit | 018cbffe6819f6f8db20a0a3acd9bab9bfd667e4 (patch) | |
tree | fadde2521591998dc653fa094c636e8a547e620d /kernel/perf_event.c | |
parent | 1dd2980d990068e20045b90c424518cc7f3657ff (diff) | |
parent | 60b341b778cc2929df16c0a504c91621b3c6a4ad (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.c | 13 |
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 | ||
3417 | static int perf_event_task_match(struct perf_event *event) | 3415 | static 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 | ||
3529 | static int perf_event_comm_match(struct perf_event *event) | 3528 | static 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, | |||
3648 | static int perf_event_mmap_match(struct perf_event *event, | 3647 | static 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)) |