Commit Graph

263 Commits

Author SHA1 Message Date
Carsten Grohmann
0ac8f4939a 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.
2023-03-28 22:40:06 +02:00
Carsten Grohmann
e710414116 Add GFP flags for kernel 6.0 2023-03-27 20:19:46 +02:00
Carsten Grohmann
3f19a50f17 Move regexs from OOMAnalyser to BaseKernelConfig 2023-03-25 20:50:09 +01:00
Carsten Grohmann
7e99d267a5 Rename BaseKernelConfig.rec_oom_{begin|end}
Rename BaseKernelConfig.rec_oom_{begin|end} to upper-case.
2023-03-25 14:58:40 +01:00
Carsten Grohmann
52d476cee2 Refactor and rename OOMEntity.back()
Rename OOMEntity.back() to goto_previous_line() and align code with
current usage.
2023-03-25 14:47:34 +01:00
Carsten Grohmann
cbd16d266f Hide node if none of the nodes has memory shortage 2023-03-24 21:01:16 +01:00
Carsten Grohmann
bd3085c667 Show memory watermarks together will all details 2023-03-23 21:49:08 +01:00
Carsten Grohmann
436d0b3298 Show and hide elements reworked
Elements should be hidden by default and shown if necessary. This is a
constant behaviour with this change. It also prevents flickering when
the page is loaded and the JS set all defaults.
2023-03-22 23:00:30 +01:00
Carsten Grohmann
ae1bcda939 Extract explanatory patterns in variables
and extend the tests for presence and absence.
2023-03-17 22:26:34 +01:00
Carsten Grohmann
f2b0bf42c6 Add a non-breaking space between number and unit 2023-03-16 23:00:36 +01:00
Carsten Grohmann
924fc37f48 Remove unnecessary code 2023-03-16 22:18:37 +01:00
Carsten Grohmann
8a1083cf4b Refactoring to determine the page size 2023-03-15 23:09:01 +01:00
Carsten Grohmann
2c09e21ae5 Update pre-commit config 2023-03-14 21:40:03 +01:00
Carsten Grohmann
56d519cc8f Restructure storing buddyinfo and watermarks infos 2023-03-14 20:31:59 +01:00
Carsten Grohmann
72163cc7bc Summary of the analysis revised 2023-03-14 20:31:59 +01:00
Carsten Grohmann
470e5acf55 Restructure extraction of node with mem shortage
Watermark extraction is performed only once and the result is now
stored in OOMResult.details["trigger_proc_numa_node"].
2023-03-14 13:31:35 +01:00
Carsten Grohmann
91caad251e Add check for heavy memory fragmentation 2023-03-14 13:31:35 +01:00
Carsten Grohmann
ec8b4c2374 Add analysis why the memory request failed 2023-03-14 13:31:35 +01:00
Carsten Grohmann
beb00ce17e Add MAX_ORDER constant 2023-03-14 13:31:35 +01:00
Carsten Grohmann
8ef28a0640 Fix minor documentation typo 2023-03-14 13:31:35 +01:00
Carsten Grohmann
5c232cb773 Show explanation for resident mem < virtual mem 2023-03-14 13:31:35 +01:00
Carsten Grohmann
3620287f82 Fix wrong line break in RHEL7 OOM example 2023-02-12 20:22:29 +01:00
Carsten Grohmann
ec4077e083 Show memory zone of requested memory 2023-02-12 20:10:47 +01:00
Carsten Grohmann
4011c1f755 Calculation of memory zones decimal GFP mask
The calculation from the decimal value of the CFP mask is more reliable
than checking whether the strings "DMA32" and "DMA" are included.
2023-01-23 21:07:50 +01:00
Carsten Grohmann
17536301d6 Extract and store memory watermark information 2023-01-14 22:14:03 +01:00
Carsten Grohmann
fd3acbb16d Extract free memory of each node from buddy info 2023-01-14 21:54:44 +01:00
Carsten Grohmann
48cc058df1 Update copyright years 2023-01-13 22:12:43 +01:00
Carsten Grohmann
7907c6265f Add debug messages to show in notification box
Rename show_notifybox() to add_to_notifybox() to use a more meaningful
name.
2023-01-13 22:12:43 +01:00
Carsten Grohmann
f281642379 Extract and store free memory chunks 2023-01-13 22:12:43 +01:00
Carsten Grohmann
d23f2dc23c Split OOMDisplay.show() into smaller pieces
to improve the readability
2022-11-27 10:36:07 +01:00
Carsten Grohmann
ab2905e0ae Display missing memory chunks (buddyinfo) again 2022-11-24 06:46:38 +01:00
Carsten Grohmann
6ac0e86169 Remove trailing whitespaces 2022-11-19 11:47:27 +01:00
Carsten Grohmann
efa1facafd Remove unused return code in OOMAnalyser._choose_kernel_config() 2022-11-19 11:45:51 +01:00
Carsten Grohmann
50103374e7 Fix Node.js warning about wrong module type
# rollup --config rollup.config.js
(node:2833) Warning: To load an ES module, set "type": "module" in the
package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
[!] RollupError: Node tried to load your configuration file as CommonJS
even though it is likely an ES module. To resolve this, change the
extension of your configuration to ".mjs", set "type": "module" in your
package.json file or pass the "--bundleConfigAsCjs" flag.
2022-11-19 09:39:06 +01:00
Carsten Grohmann
d65a04454c Prevent commiting code thats initialise a debugger
Enable pre-commit check "debug-statements"
2022-11-11 21:01:26 +01:00
Carsten Grohmann
35a44a6eb7 Extend mock objects to satisfy code checker 2022-11-11 20:53:07 +01:00
Carsten Grohmann
272d6d269f Extend build job with a code check with black 2022-11-11 20:45:25 +01:00
Carsten Grohmann
2d0ee1a69e Add rules to run black to Makefile
Added:
black       : Run source code formatter black
black-check : Run source code formatter black in check-only mode
2022-11-11 20:44:32 +01:00
Carsten Grohmann
32bdbdf317 Update pre-commit config after software update 2022-11-08 21:14:39 +01:00
Carsten Grohmann
bd9d4190f3 Add GFP flags for more kernel releases 2022-08-17 21:51:08 +02:00
Carsten Grohmann
fb0105e612 Typo 2022-08-17 21:47:37 +02:00
Carsten Grohmann
806d1e745e Rework choosing the right kernel config
This change uses a tuple of major version, minor version, and suffix to
specify the kernel version to which the configuration matches.

This is simpler than the previously used regular expressions.
2022-08-17 21:47:37 +02:00
Carsten Grohmann
cdf4be58f9 Move RE to extract kversion to class variable 2022-08-17 21:47:37 +02:00
Carsten Grohmann
82c8af8842 Rework handling of GFP flags 2022-08-17 21:47:21 +02:00
Carsten Grohmann
84073ba0ce Fix calculation of GFP flags 2022-07-03 21:41:12 +02:00
Carsten Grohmann
be9bda6536 Convert to int to satisfy Python for unit tests 2022-06-28 20:43:34 +02:00
Carsten Grohmann
5174b0a23a Move extracting GPF flags to own function 2022-06-28 20:38:51 +02:00
Carsten Grohmann
2e3a58f4ee Add pre-commit hook to increase sw quality 2022-06-27 21:19:31 +02:00
Carsten Grohmann
6d8851b1d6 Blackify source
Use Black "The uncompromising code formatter" to automatically format
the source code in a consistent manner.
2022-06-27 21:19:21 +02:00
Carsten Grohmann
20df3fa4f9 Add test for memory allocation flags 2022-06-17 21:26:36 +02:00