diff --git a/OOMAnalyser.html b/OOMAnalyser.html
index 4ba1c66..ea72edb 100644
--- a/OOMAnalyser.html
+++ b/OOMAnalyser.html
@@ -1091,7 +1091,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
Add check for heavy memory fragmentation
Summary of the analysis revised
Show memory watermarks together will all details
- Add GFP flags for kernel 6.0
+ Add support for kernel 6.0 and newer
...
diff --git a/OOMAnalyser.py b/OOMAnalyser.py
index ee9d128..1b565dd 100644
--- a/OOMAnalyser.py
+++ b/OOMAnalyser.py
@@ -1545,7 +1545,6 @@ class KernelConfig_4_8(KernelConfig_4_6):
class KernelConfig_4_9(KernelConfig_4_8):
# Supported changes:
# * "mm: oom: deduplicate victim selection code for memcg and global oom" (7c5f64f84483bd13886348edda8b3e7b799a7fdb)
- # * update GFP flags
name = "Configuration for Linux kernel 4.9 or later"
release = (4, 9, "")
@@ -2122,7 +2121,6 @@ class KernelConfig_4_18(KernelConfig_4_15):
class KernelConfig_4_19(KernelConfig_4_18):
# Supported changes:
# * mm, oom: describe task memory unit, larger PID pad (c3b78b11efbb2865433abf9d22c004ffe4a73f5c)
- # * update GFP flags
name = "Configuration for Linux kernel 4.19 or later"
release = (4, 19, "")
@@ -2133,7 +2131,6 @@ class KernelConfig_4_19(KernelConfig_4_18):
class KernelConfig_5_0(KernelConfig_4_19):
# Supported changes:
# * "mm, oom: reorganize the oom report in dump_header" (ef8444ea01d7442652f8e1b8a8b94278cb57eafd)
- # * update GFP flags
name = "Configuration for Linux kernel 5.0 or later"
release = (5, 0, "")
@@ -2240,7 +2237,6 @@ class KernelConfig_5_1(KernelConfig_5_0):
class KernelConfig_5_8(KernelConfig_5_1):
# Supported changes:
# * "mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead" (8d92890bd6b8502d6aee4b37430ae6444ade7a8c)
- # * update GFP flags
name = "Configuration for Linux kernel 5.8 or later"
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\d+) slab_unreclaimable:(?P\d+)"
+ r"(?:\n)"
+ r"^ mapped:(?P\d+) shmem:(?P\d+) pagetables:(?P\d+)"
+ r"(?:\n)"
+ r"^ sec_pagetables:(?P\d+) bounce:(?P\d+)"
+ r"(?:\n)"
+ r"^ kernel_misc_reclaimable:(?P\d+)"
+ r"(?:\n)"
+ r"^ free:(?P\d+) free_pcp:(?P\d+) free_cma:(?P\d+)",
+ True,
+ ),
+ }
+
+ def __init__(self):
+ super().__init__()
+ self.EXTRACT_PATTERN.update(self.EXTRACT_PATTERN_OVERLAY_61)
+
+
AllKernelConfigs = [
+ KernelConfig_6_1(),
KernelConfig_6_0(),
KernelConfig_5_18(),
KernelConfig_5_14(),
@@ -2638,7 +2662,7 @@ class OOMEntity:
@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)
add_cols = ""
diff --git a/test.py b/test.py
index c25a70c..0769156 100755
--- a/test.py
+++ b/test.py
@@ -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",
),
(
- OOMAnalyser.KernelConfig_6_0(),
+ OOMAnalyser.KernelConfig_6_1(),
"CPU: 4 PID: 29481 Comm: sed Not tainted 6.12.0 #1",
),
(