Re: [PATCH] sched/debug: use symbolic names for task state constants
From: Peter Zijlstra
Date: Wed Sep 05 2018 - 07:25:34 EST
On Wed, Sep 05, 2018 at 11:36:36AM +0200, Uwe Kleine-König wrote:
> include/trace/events/sched.h includes <linux/sched.h> (via
> <linux/sched/numa_balancing.h>) and so knows about the TASK_* constants
> used to interpret .prev_state. So instead of duplicating the magic
> numbers make use of the defined macros to ease understanding the
> mapping from state bits to letters which isn't completely intuitive for
> an outsider.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
> include/trace/events/sched.h | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
> index 0be866c91f62..f07b270d4fc4 100644
> --- a/include/trace/events/sched.h
> +++ b/include/trace/events/sched.h
> @@ -159,9 +159,14 @@ TRACE_EVENT(sched_switch,
>
> (__entry->prev_state & (TASK_REPORT_MAX - 1)) ?
> __print_flags(__entry->prev_state & (TASK_REPORT_MAX - 1), "|",
> - { 0x01, "S" }, { 0x02, "D" }, { 0x04, "T" },
> - { 0x08, "t" }, { 0x10, "X" }, { 0x20, "Z" },
> - { 0x40, "P" }, { 0x80, "I" }) :
> + { TASK_INTERRUPTIBLE, "S" },
> + { TASK_UNINTERRUPTIBLE, "D" },
> + { __TASK_STOPPED, "T" },
> + { __TASK_TRACED, "t" },
> + { EXIT_DEAD, "X" },
> + { EXIT_ZOMBIE, "Z" },
> + { TASK_PARKED, "P" },
> + { TASK_DEAD, "I" }) :
> "R",
Steve, does this work?