В кодовую базу, на основе которой формируется ядро Linux 6.5, принято изменение с реализацией нового системного вызова cachestat, позволяющего программам в пространстве пользователя запрашивать более детальную статистику из страничного кэша на стороне ядра.
Расширяя уже существующий системный вызов "mincore", используемый для определения, присутствуют ли страницы в памяти, вызов cachestat позволяет запрашивать более подробную статистику кэша страниц и стремится обеспечить большую масштабируемость. Системный вызов cachestat сообщает такие сведения, как количество прокэшированных страниц, грязных (dirty) страниц, вытесненных страниц, недавно вытесненных страниц и страниц, отмеченных для отложенной записи (writeback).
Предоставляемая статистика для файлов позволяет точнее принимать решения по работе с вводом-выводом, проходящим через VFS, основываясь не только на абстрактном алгоритме, но и учитывая характеристики конкретной системы в конкретный момент времени.
Возможные варианты использования cachestat() приложениями:
Возможность более наглядного и удобного представления информации об использовании памяти в больших файлах/директориях, аналогично тому как утилита "du" позволяет отображать использование дискового пространства.
Упрощение диагностики и отладки отложенной записи при проблемах с производительностью.
Источник: OpenNET.