Messages in this thread | | | Date | Fri, 23 Mar 2018 19:05:34 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2 0/3] perf/core: expose thread context switch out event type to user space |
| |
On Thu, Mar 22, 2018 at 07:08:25PM +0300, Alexey Budankov wrote: > > Implementation of exposing context-switch-out type event as a part > of PERF_RECORD_SWITCH[_CPU_WIDE] record. > > Introduced types of events assumed to be: > a) preempt: when task->state == TASK_RUNNING > b) yield: !preempt, encoding is done using new bit > PERF_RECORD_MISC_SWITCH_OUT_YIELD like this:
A !preempt context switch isn't nessecarily a yield; please don't use that name, it means something quite specific and this isn't it.
Specifically, on Linux yield() doesn't actually change task->state, so when task->state is set !0 it _cannot_ have been yield.
I would invert the thing and call the preempt one SWITCH_OUT_PREEMPT.
| |