Add support for secondary page table counters

as with kernel 6.1 "mm: add NR_SECONDARY_PAGETABLE to count secondary
page table usage." (ebc97a52) added.
This commit is contained in:
Carsten Grohmann 2023-03-27 21:25:59 +02:00
parent e710414116
commit 0ac8f4939a
3 changed files with 31 additions and 7 deletions

View File

@ -1091,7 +1091,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
<li>Add check for heavy memory fragmentation</li> <li>Add check for heavy memory fragmentation</li>
<li>Summary of the analysis revised</li> <li>Summary of the analysis revised</li>
<li>Show memory watermarks together will all details</li> <li>Show memory watermarks together will all details</li>
<li>Add GFP flags for kernel 6.0</li> <li>Add support for kernel 6.0 and newer</li>
<li>...</li> <li>...</li>
</ol> </ol>

View File

@ -1545,7 +1545,6 @@ class KernelConfig_4_8(KernelConfig_4_6):
class KernelConfig_4_9(KernelConfig_4_8): class KernelConfig_4_9(KernelConfig_4_8):
# Supported changes: # Supported changes:
# * "mm: oom: deduplicate victim selection code for memcg and global oom" (7c5f64f84483bd13886348edda8b3e7b799a7fdb) # * "mm: oom: deduplicate victim selection code for memcg and global oom" (7c5f64f84483bd13886348edda8b3e7b799a7fdb)
# * update GFP flags
name = "Configuration for Linux kernel 4.9 or later" name = "Configuration for Linux kernel 4.9 or later"
release = (4, 9, "") release = (4, 9, "")
@ -2122,7 +2121,6 @@ class KernelConfig_4_18(KernelConfig_4_15):
class KernelConfig_4_19(KernelConfig_4_18): class KernelConfig_4_19(KernelConfig_4_18):
# Supported changes: # Supported changes:
# * mm, oom: describe task memory unit, larger PID pad (c3b78b11efbb2865433abf9d22c004ffe4a73f5c) # * mm, oom: describe task memory unit, larger PID pad (c3b78b11efbb2865433abf9d22c004ffe4a73f5c)
# * update GFP flags
name = "Configuration for Linux kernel 4.19 or later" name = "Configuration for Linux kernel 4.19 or later"
release = (4, 19, "") release = (4, 19, "")
@ -2133,7 +2131,6 @@ class KernelConfig_4_19(KernelConfig_4_18):
class KernelConfig_5_0(KernelConfig_4_19): class KernelConfig_5_0(KernelConfig_4_19):
# Supported changes: # Supported changes:
# * "mm, oom: reorganize the oom report in dump_header" (ef8444ea01d7442652f8e1b8a8b94278cb57eafd) # * "mm, oom: reorganize the oom report in dump_header" (ef8444ea01d7442652f8e1b8a8b94278cb57eafd)
# * update GFP flags
name = "Configuration for Linux kernel 5.0 or later" name = "Configuration for Linux kernel 5.0 or later"
release = (5, 0, "") release = (5, 0, "")
@ -2240,7 +2237,6 @@ class KernelConfig_5_1(KernelConfig_5_0):
class KernelConfig_5_8(KernelConfig_5_1): class KernelConfig_5_8(KernelConfig_5_1):
# Supported changes: # Supported changes:
# * "mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead" (8d92890bd6b8502d6aee4b37430ae6444ade7a8c) # * "mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead" (8d92890bd6b8502d6aee4b37430ae6444ade7a8c)
# * update GFP flags
name = "Configuration for Linux kernel 5.8 or later" name = "Configuration for Linux kernel 5.8 or later"
release = (5, 8, "") release = (5, 8, "")
@ -2538,7 +2534,35 @@ class KernelConfig_6_0(KernelConfig_5_18):
} }
class KernelConfig_6_1(KernelConfig_5_18):
# Supported changes:
# * "mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses." (ebc97a52b5d6)
name = "Configuration for Linux kernel 6.1 or later"
release = (6, 1, "")
EXTRACT_PATTERN_OVERLAY_61 = {
"Mem-Info (part 2)": (
r"^ slab_reclaimable:(?P<slab_reclaimable_pages>\d+) slab_unreclaimable:(?P<slab_unreclaimable_pages>\d+)"
r"(?:\n)"
r"^ mapped:(?P<mapped_pages>\d+) shmem:(?P<shmem_pages>\d+) pagetables:(?P<pagetables_pages>\d+)"
r"(?:\n)"
r"^ sec_pagetables:(?P<sec_pagetables>\d+) bounce:(?P<bounce_pages>\d+)"
r"(?:\n)"
r"^ kernel_misc_reclaimable:(?P<kernel_misc_reclaimable>\d+)"
r"(?:\n)"
r"^ free:(?P<free_pages>\d+) free_pcp:(?P<free_pcp_pages>\d+) free_cma:(?P<free_cma_pages>\d+)",
True,
),
}
def __init__(self):
super().__init__()
self.EXTRACT_PATTERN.update(self.EXTRACT_PATTERN_OVERLAY_61)
AllKernelConfigs = [ AllKernelConfigs = [
KernelConfig_6_1(),
KernelConfig_6_0(), KernelConfig_6_0(),
KernelConfig_5_18(), KernelConfig_5_18(),
KernelConfig_5_14(), KernelConfig_5_14(),
@ -2638,7 +2662,7 @@ class OOMEntity:
@see: _rsyslog_unescape_lf() @see: _rsyslog_unescape_lf()
""" """
pattern = r"^\s+ (active_file|unevictable|slab_reclaimable|mapped|free):.+$" pattern = r"^\s+ (active_file|unevictable|slab_reclaimable|mapped|sec_pagetables|kernel_misc_reclaimable|free):.+$"
rec = re.compile(pattern) rec = re.compile(pattern)
add_cols = "" add_cols = ""

View File

@ -776,7 +776,7 @@ Hardware name: HP ProLiant DL385 G7, BIOS A18 12/08/2012
"CPU: 4 PID: 29481 Comm: sed Not tainted 5.23.0 #1", "CPU: 4 PID: 29481 Comm: sed Not tainted 5.23.0 #1",
), ),
( (
OOMAnalyser.KernelConfig_6_0(), OOMAnalyser.KernelConfig_6_1(),
"CPU: 4 PID: 29481 Comm: sed Not tainted 6.12.0 #1", "CPU: 4 PID: 29481 Comm: sed Not tainted 6.12.0 #1",
), ),
( (