diff options
Diffstat (limited to 'tools/perf/builtin-sched.c')
-rw-r--r-- | tools/perf/builtin-sched.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index dd714818fa4d..7fe3b3cb4cc8 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c | |||
@@ -472,6 +472,7 @@ static u64 get_cpu_usage_nsec_self(int fd) | |||
472 | struct sched_thread_parms { | 472 | struct sched_thread_parms { |
473 | struct task_desc *task; | 473 | struct task_desc *task; |
474 | struct perf_sched *sched; | 474 | struct perf_sched *sched; |
475 | int fd; | ||
475 | }; | 476 | }; |
476 | 477 | ||
477 | static void *thread_func(void *ctx) | 478 | static void *thread_func(void *ctx) |
@@ -482,13 +483,12 @@ static void *thread_func(void *ctx) | |||
482 | u64 cpu_usage_0, cpu_usage_1; | 483 | u64 cpu_usage_0, cpu_usage_1; |
483 | unsigned long i, ret; | 484 | unsigned long i, ret; |
484 | char comm2[22]; | 485 | char comm2[22]; |
485 | int fd; | 486 | int fd = parms->fd; |
486 | 487 | ||
487 | zfree(&parms); | 488 | zfree(&parms); |
488 | 489 | ||
489 | sprintf(comm2, ":%s", this_task->comm); | 490 | sprintf(comm2, ":%s", this_task->comm); |
490 | prctl(PR_SET_NAME, comm2); | 491 | prctl(PR_SET_NAME, comm2); |
491 | fd = self_open_counters(); | ||
492 | if (fd < 0) | 492 | if (fd < 0) |
493 | return NULL; | 493 | return NULL; |
494 | again: | 494 | again: |
@@ -540,6 +540,7 @@ static void create_tasks(struct perf_sched *sched) | |||
540 | BUG_ON(parms == NULL); | 540 | BUG_ON(parms == NULL); |
541 | parms->task = task = sched->tasks[i]; | 541 | parms->task = task = sched->tasks[i]; |
542 | parms->sched = sched; | 542 | parms->sched = sched; |
543 | parms->fd = self_open_counters(); | ||
543 | sem_init(&task->sleep_sem, 0, 0); | 544 | sem_init(&task->sleep_sem, 0, 0); |
544 | sem_init(&task->ready_for_work, 0, 0); | 545 | sem_init(&task->ready_for_work, 0, 0); |
545 | sem_init(&task->work_done_sem, 0, 0); | 546 | sem_init(&task->work_done_sem, 0, 0); |