OpenCloudOS-Kernel/kernel/debug/kdb
Daniel Thompson b77dbc86d6 kdb: Adopt scheduler's task classification
Currently kdb contains some open-coded routines to generate a summary
character for each task. This code currently issues warnings, is
almost certainly broken and won't make sense to any kernel dev who
has ever used /proc to examine task states.

Fix both the warning and the potential for confusion by adopting the
scheduler's task classification. Whilst doing this we also simplify the
filtering by using mask strings directly (which means we don't have to
guess all the characters the scheduler might give us).

Unfortunately we can't quite match the scheduler classification completely.
We add four extra states: - for idle loops and i, m and s for sleeping
system daemons (which means kthreads in one of the I, M and S states).
These extra states are used to manage the filters for tools to make the
output of ps and bta less noisy.

Note: The Fixes below is the last point the original dubious code was
      moved; it was not introduced by that patch. However it gives us
      the last point to which this patch can be easily backported.
      Happily that should be enough to cover the introduction of
      CONFIG_WERROR!

Fixes: 2f064a59a1 ("sched: Change task_struct::state")
Link: https://lore.kernel.org/r/20211102173158.3315227-1-daniel.thompson@linaro.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2021-11-03 17:21:37 +00:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile kdb: Get rid of broken attempt to print CCVERSION in kdb summary 2019-05-12 09:50:43 +01:00
kdb_bp.c kdb: Rename members of struct kdbtab_t 2021-07-27 17:05:06 +01:00
kdb_bt.c kdb: Adopt scheduler's task classification 2021-11-03 17:21:37 +00:00
kdb_cmds kdb: cleanup unused variables missed in the original kdb merge 2011-08-01 13:23:58 -05:00
kdb_debugger.c kdb: Get rid of custom debug heap allocator 2021-07-27 14:46:11 +01:00
kdb_io.c kdb: Fix pager search for multi-line strings 2020-10-01 14:44:08 +01:00
kdb_keyboard.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
kdb_main.c kdb: Adopt scheduler's task classification 2021-11-03 17:21:37 +00:00
kdb_private.h kdb: Adopt scheduler's task classification 2021-11-03 17:21:37 +00:00
kdb_support.c kdb: Adopt scheduler's task classification 2021-11-03 17:21:37 +00:00