only process memory cell/block subdirs in sysfs #343
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
/sys/devices/system/memory
and/sys/devices/system/node/nodeX
subdirectories contains one or more subdirectories that begin with the word "memory" and end in a 0-based cell/block index for that memory. e.g./sys/devices/system/node/node0/memory63
is a directory containing information files about the 64th memory block in NUMA node 0.Previously, code that gathered total physical memory by looking at these subdirectories was using a simple glob on
memory*
to determine those memory block subdirectories. However, in some recent Linux kernels a/sys/devices/system/memory/memory_failure
file causes that simple glob to backfire. This patch replaces the simple glob with a read of the/sys/devices/system/memory
or/sys/devices/system/node/nodeX
directory and regex matches onmemory\d$
to determine if the subdirectory is a memory block one.Fixes Issue #341