Skip to content
Snippets Groups Projects
Commit a8613aa4 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti
Browse files

lrdp_v2: Consider isolated CPUs while printing watchdog info

The isolated CPUs are exempted from watchdog pet. So don't expect
an isolated CPU to be present in the alive mask.

Change-Id: Ia6e55e459292b255335ab9c34df93b9a3514383e
parent 190dd6a5
No related branches found
No related tags found
No related merge requests found
...@@ -882,6 +882,12 @@ def get_wdog_timing(ramdump): ...@@ -882,6 +882,12 @@ def get_wdog_timing(ramdump):
cpu_online_bits = ramdump.read_word('__cpu_online_mask') cpu_online_bits = ramdump.read_word('__cpu_online_mask')
else: else:
cpu_online_bits = ramdump.read_word('cpu_online_bits') cpu_online_bits = ramdump.read_word('cpu_online_bits')
if (ramdump.kernel_version >= (4, 9, 0)):
cpu_isolated_bits = ramdump.read_word('__cpu_isolated_mask')
elif (ramdump.kernel_version >= (4, 4, 0)):
cpu_isolated_bits = ramdump.read_word('cpu_isolated_bits')
else:
cpu_isolated_bits = 0
wdog_task = ramdump.read_structure_field( wdog_task = ramdump.read_structure_field(
wdog_data_addr, 'struct msm_watchdog_data', 'watchdog_task') wdog_data_addr, 'struct msm_watchdog_data', 'watchdog_task')
wdog_task_state = ramdump.read_structure_field( wdog_task_state = ramdump.read_structure_field(
...@@ -914,7 +920,7 @@ def get_wdog_timing(ramdump): ...@@ -914,7 +920,7 @@ def get_wdog_timing(ramdump):
wdog_task_cpu, ns_to_sec(wdog_task_arrived))) wdog_task_cpu, ns_to_sec(wdog_task_arrived)))
print_out_str("CPUs responded to pet(alive_mask): {0:08b}".format( print_out_str("CPUs responded to pet(alive_mask): {0:08b}".format(
wdog_alive_mask)) wdog_alive_mask))
alive_cpus = wdog_alive_mask | (~cpu_online_bits) alive_cpus = wdog_alive_mask | (~cpu_online_bits) | cpu_isolated_bits
for i in range(0, ramdump.get_num_cpus()): for i in range(0, ramdump.get_num_cpus()):
if (alive_cpus & 1): if (alive_cpus & 1):
alive_cpus = alive_cpus >> 1 alive_cpus = alive_cpus >> 1
...@@ -936,6 +942,7 @@ def get_wdog_timing(ramdump): ...@@ -936,6 +942,7 @@ def get_wdog_timing(ramdump):
print_out_str('Current jiffies crossed pet_timer expires jiffies') print_out_str('Current jiffies crossed pet_timer expires jiffies')
print_out_str('CPU online bits: {0:b}'.format(cpu_online_bits)) print_out_str('CPU online bits: {0:b}'.format(cpu_online_bits))
print_out_str('CPU isolated bits: {0:b}'.format(cpu_isolated_bits))
print_out_str('pet_timer_expires: {0}'.format(pet_timer_expires)) print_out_str('pet_timer_expires: {0}'.format(pet_timer_expires))
print_out_str('Current jiffies : {0}'.format(jiffies)) print_out_str('Current jiffies : {0}'.format(jiffies))
print_out_str( print_out_str(
......
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