Kernel commit [1] renamed cfs_rq.h_nr_running into cfs_rq.h_nr_queued.

Without the patch:
crash> runq -g
...
runq: invalid structure member offset: cfs_rq_nr_running
      FILE: task.c  LINE: 9480  FUNCTION: dump_tasks_in_lower_dequeued_cfs_rq()

[./crash] error trace: 580934 => 580090 => 5f1f31 => 5f1eb3

  5f1eb3: OFFSET_verify.part.40+51
  5f1f31: OFFSET_verify+49
  580090: dump_tasks_in_lower_dequeued_cfs_rq+444
  580934: dump_tasks_in_task_group_cfs_rq+1229

runq: invalid structure member offset: cfs_rq_nr_running
      FILE: task.c  LINE: 9480  FUNCTION: dump_tasks_in_lower_dequeued_cfs_rq()

[1]: 
https://github.com/torvalds/linux/commit/7b8a702d943827130cc00ae36075eff5500f86f1

Signed-off-by: Tao Liu <l...@redhat.com>
Reported-by: Anderson Nascimento <andersonc...@gmail.com>
---
 task.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/task.c b/task.c
index 869f584..4e3b71f 100644
--- a/task.c
+++ b/task.c
@@ -9739,6 +9739,9 @@ cfs_rq_offset_init(void)
                        ASSIGN_OFFSET(cfs_rq_rb_leftmost) = 
OFFSET(cfs_rq_tasks_timeline) + 
                                MEMBER_OFFSET("rb_root_cached", "rb_leftmost");
                MEMBER_OFFSET_INIT(cfs_rq_nr_running, "cfs_rq", "nr_running");
+               if (INVALID_MEMBER(cfs_rq_nr_running)) {
+                       MEMBER_OFFSET_INIT(cfs_rq_nr_running, "cfs_rq", 
"nr_queued");
+               }
                MEMBER_OFFSET_INIT(cfs_rq_curr, "cfs_rq", "curr");
                MEMBER_OFFSET_INIT(rt_rq_active, "rt_rq", "active");
                 MEMBER_OFFSET_INIT(task_struct_run_list, "task_struct",
-- 
2.47.0
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to