From a8613aa41a4796e160c756ea583c7b25cc7be125 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti <pkondeti@codeaurora.org> Date: Mon, 26 Mar 2018 09:26:34 +0530 Subject: [PATCH] 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 --- linux-ramdump-parser-v2/watchdog_v2.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/linux-ramdump-parser-v2/watchdog_v2.py b/linux-ramdump-parser-v2/watchdog_v2.py index 63b3242..bf953e3 100644 --- a/linux-ramdump-parser-v2/watchdog_v2.py +++ b/linux-ramdump-parser-v2/watchdog_v2.py @@ -882,6 +882,12 @@ def get_wdog_timing(ramdump): cpu_online_bits = ramdump.read_word('__cpu_online_mask') else: 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_data_addr, 'struct msm_watchdog_data', 'watchdog_task') wdog_task_state = ramdump.read_structure_field( @@ -914,7 +920,7 @@ def get_wdog_timing(ramdump): wdog_task_cpu, ns_to_sec(wdog_task_arrived))) print_out_str("CPUs responded to pet(alive_mask): {0:08b}".format( 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()): if (alive_cpus & 1): alive_cpus = alive_cpus >> 1 @@ -936,6 +942,7 @@ def get_wdog_timing(ramdump): 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 isolated bits: {0:b}'.format(cpu_isolated_bits)) print_out_str('pet_timer_expires: {0}'.format(pet_timer_expires)) print_out_str('Current jiffies : {0}'.format(jiffies)) print_out_str( -- GitLab