From ab4934ec04a7153ea4242f61875d7c5edd0ee3e1 Mon Sep 17 00:00:00 2001 From: Sudarshan Rajagopalan <sudaraja@codeaurora.org> Date: Thu, 22 Jun 2017 13:38:31 -0700 Subject: [PATCH] lrdp-v2: vmstat: Fix broken vm_stat for kernel 4.9 Global variable name 'vm_stat' is changed in newer kernel versions. Use the appropriate variable name depending on the kernel version being used. Change-Id: Ia36735bc22c1165ee2736ac39bf93fb2e4a86d0f --- linux-ramdump-parser-v2/parsers/vmstat.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/linux-ramdump-parser-v2/parsers/vmstat.py b/linux-ramdump-parser-v2/parsers/vmstat.py index e849836..8548c12 100644 --- a/linux-ramdump-parser-v2/parsers/vmstat.py +++ b/linux-ramdump-parser-v2/parsers/vmstat.py @@ -1,4 +1,4 @@ -# Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. +# Copyright (c) 2013-2015, 2017 The Linux Foundation. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 and @@ -62,7 +62,10 @@ class ZoneInfo(RamParser): zone = zone + sizeofzone print_out_str('\nGlobal Stats') - vmstats_addr = self.ramdump.address_of('vm_stat') + if self.ramdump.kernel_version < (4,9,0): + vmstats_addr = self.ramdump.address_of('vm_stat') + else: + vmstats_addr = self.ramdump.address_of('vm_zone_stat') for i in xrange(0, max_zone_stats): print_out_str('{0:30}: {1:8}'.format(vmstat_names[i], self.ramdump.read_word( self.ramdump.array_index(vmstats_addr, 'atomic_long_t', i)))) -- GitLab