Skip to content
Snippets Groups Projects
Commit f72a4fb5 authored by Gopi Krishna Nedanuri's avatar Gopi Krishna Nedanuri
Browse files

lrdp_v2: Fix get_wdog_timing for kernel version 4.9

Fix CPU number of watchdog task in 4.9 kernel and
fix next event for hotplugged CPU.

Change-Id: Ia0c13ec61bb667a16901027f8f8a132153957c9f
parent d70ee8dd
No related branches found
No related tags found
No related merge requests found
...@@ -875,10 +875,9 @@ def get_wdog_timing(ramdump): ...@@ -875,10 +875,9 @@ def get_wdog_timing(ramdump):
wdog_task, 'struct task_struct', 'state') wdog_task, 'struct task_struct', 'state')
wdog_task_threadinfo = ramdump.read_structure_field( wdog_task_threadinfo = ramdump.read_structure_field(
wdog_task, 'struct task_struct', 'stack') wdog_task, 'struct task_struct', 'stack')
wdog_task_cpu = ramdump.get_task_cpu(wdog_task, wdog_task_threadinfo)
wdog_task_oncpu = ramdump.read_structure_field( wdog_task_oncpu = ramdump.read_structure_field(
wdog_task, 'struct task_struct', 'on_cpu') wdog_task, 'struct task_struct', 'on_cpu')
wdog_task_cpu = ramdump.read_structure_field(
wdog_task_threadinfo, 'struct thread_info', 'cpu')
wdog_task_arrived = ramdump.read_structure_field( wdog_task_arrived = ramdump.read_structure_field(
wdog_task, 'struct task_struct', 'sched_info.last_arrival') wdog_task, 'struct task_struct', 'sched_info.last_arrival')
wdog_task_queued = ramdump.read_structure_field( wdog_task_queued = ramdump.read_structure_field(
...@@ -941,11 +940,12 @@ def get_wdog_timing(ramdump): ...@@ -941,11 +940,12 @@ def get_wdog_timing(ramdump):
'tick_cpu_device') + ramdump.per_cpu_offset(i) 'tick_cpu_device') + ramdump.per_cpu_offset(i)
evt_dev = ramdump.read_structure_field( evt_dev = ramdump.read_structure_field(
tick_cpu_device, 'struct tick_device', 'evtdev') tick_cpu_device, 'struct tick_device', 'evtdev')
next_event = ramdump.read_structure_field( if evt_dev != 0:
evt_dev, 'struct clock_event_device', 'next_event') next_event = ramdump.read_structure_field(
next_event = ns_to_sec(next_event) evt_dev, 'struct clock_event_device', 'next_event')
print_out_str( next_event = ns_to_sec(next_event)
"CPU{0} tick_device next_event: {1:.6f}".format(i, next_event)) print_out_str(
"CPU{0} tick_device next_event: {1:.6f}".format(i, next_event))
epoch_ns = ramdump.read_word('cd.read_data[0].epoch_ns') epoch_ns = ramdump.read_word('cd.read_data[0].epoch_ns')
epoch_cyc = ramdump.read_word('cd.read_data[0].epoch_cyc') epoch_cyc = ramdump.read_word('cd.read_data[0].epoch_cyc')
print_out_str('epoch_ns: {0}ns epoch_cyc: {1}'.format(epoch_ns,epoch_cyc)) print_out_str('epoch_ns: {0}ns epoch_cyc: {1}'.format(epoch_ns,epoch_cyc))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment