Here is a patch against crash v6.0.3rc24 that adds duplicate node detection per-CPU for the CFS runqueue display in dump_CFS_runqueues() for the runq command. This resolves for that 6.0.3 rc the failure to bail-out of the unending looping display I get with the crash dump I have that has a corrupted CFS runqueue containing a loop. Signed-off-by: David Mair <dmair@xxxxxxxx> --- task.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/task.c b/task.c index c81cb74..7a3e8e1 100755 --- a/task.c +++ b/task.c @@ -7060,7 +7060,14 @@ dump_tasks_in_cfs_rq(ulong cfs_rq) OFFSET(sched_entity_run_node)); if (!tc) continue; - dump_task_runq_entry(tc); + if (hq_enter((ulong)tc)) { + dump_task_runq_entry(tc); + } else { + error(WARNING, "Duplicate CFS runqueue node, task %lx" + ", probable loop\n", + tc->task); + return total; + } total++; } @@ -7220,7 +7227,9 @@ dump_CFS_runqueues(void) fprintf(fp, " CFS RB_ROOT: %lx\n", (ulong)root); + hq_open(); tot = dump_tasks_in_cfs_rq(cfs_rq); + hq_close(); if (!tot) { INDENT(5); fprintf(fp, "[no tasks queued]\n"); -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility