Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1296018
| From | Alexander Shishkin <alexander.shishkin@linux.intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/7] perf: Generalize task_function_call()ers |
| Date | 2015-12-21 15:50 +0100 |
| Message-ID | <qI9WF-7IE-9@gated-at.bofh.it> (permalink) |
| References | (4 earlier) <qDtMm-4Ra-23@gated-at.bofh.it> <qGH6q-8ue-15@gated-at.bofh.it> <qGHJ8-Ah-17@gated-at.bofh.it> <qGIlQ-154-27@gated-at.bofh.it> <qGZd0-3FA-31@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Peter Zijlstra <peterz@infradead.org> writes:
> -
> - /*
> - * If the context we're installing events in is not the
> - * active task_ctx, flip them.
> - */
> - if (ctx->task && task_ctx != ctx) {
> - if (task_ctx)
> - raw_spin_unlock(&task_ctx->lock);
> - raw_spin_lock(&ctx->lock);
> - task_ctx = ctx;
> - }
> -
> - if (task_ctx) {
> - cpuctx->task_ctx = task_ctx;
> - task = task_ctx->task;
> - }
> -
So previously, this would schedule in the tast_ctx right in
perf_install_in_context path.
The new code would only reschedule the context if it is already on:
> + if (ctx->is_active)
> + perf_resched_context(cpuctx);
> }
which means, iiuc, that an enabled event (say, attr.disabled==0) will
have to wait till the next time the ctx::task is scheduled instead of
getting scheduled right here.
Something like
if (ctx->task == current && ctx->nr_events)
perf_event_sched_in(cpuctx, ctx, ctx->task);
might make sense here.
Also the new __perf_event_enable() has the same symptom: it doesn't
schedule the new context on, only reschedule it if it's already on.
Regards,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Peter Zijlstra <peterz@infradead.org> - 2015-12-17 14:50 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2015-12-17 15:30 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Peter Zijlstra <peterz@infradead.org> - 2015-12-17 16:10 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Peter Zijlstra <peterz@infradead.org> - 2015-12-18 10:10 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2015-12-18 16:10 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Peter Zijlstra <peterz@infradead.org> - 2015-12-18 17:50 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2015-12-18 18:50 +0100
Re: [PATCH 2/7] perf: Generalize task_function_call()ers Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2015-12-21 15:50 +0100
csiph-web