Я пытаюсь подсчитать количество обращений к определенному набору страниц, взломав биты ссылок в таблице страниц. Существует ли какой-либо системный вызов или любой другой способ сброса эталонных битов (в UNIX-подобных системах)?
Таблица страниц - это структура данных, используемая системой виртуальной памяти в операционной системе компьютера для хранения отображения между виртуальными адресами и физическими адресами. (https://en.wikipedia.org/wiki/Page_table)
В Unix-подобных системах есть бит, связанный с каждой записью таблицы страниц, называемый битом ссылки, который указывает, был ли доступ к странице с тех пор, как бит был сброшен.
Ядро linux периодически сбрасывает эти ссылочные биты и через некоторое время проверяет, к каким страницам обращались, чтобы обнаружить «горячие» страницы. Но эта информация очень грубая и с низкой точностью, поскольку ничего не говорит о количестве обращений и их времени.
Я хочу подсчитать доступ к определенным страницам в течение более коротких эпох путем сброса контрольных битов, а затем проверить доступ к страницам через короткое время.
Поэтому мне было интересно, существует ли какой-либо системный вызов или прерывание ЦП, которое предоставляет средства для сброса «опорных битов». В противном случае мне нужно углубиться в ядро, чтобы увидеть, что там происходит.