As reported by #74, on Kernal 5.2+ mincore does not report correctly if you don't have write permission. Touch and evict still work as expect it's just the reporting that is wrong. This PR adds a runtime can_do_mincore function for __linux__ which checks the Kernal version and if the user running the process has write permission to the file. If o_verbose and vmtouch can't get accurate information it issues a warning: vmtouch: WARNING: Process does not have write permission, residency chart will not be accurate.
As reported by #74, on Kernal 5.2+ mincore does not report correctly if you don't have write permission. Touch and evict still work as expect it's just the reporting that is wrong. This PR adds a runtime
can_do_mincore
function for__linux__
which checks the Kernal version and if the user running the process has write permission to the file. Ifo_verbose
and vmtouch can't get accurate information it issues a warning: vmtouch: WARNING: Process does not have write permission, residency chart will not be accurate.Actual kernal check: https://github.com/torvalds/linux/blob/b7a16c7ad790d0ecb44dcb08a6a75d0d0455ab5f/mm/mincore.c#L181-L195
Example: