Я пытаюсь отследить какую-то грязную страницу в кеше страниц в Android 5.1.1 с ядром 3.4. Мое устройство — Nexus 7 2013 года с процессором Qualcomm Snapdragon S4 Pro APQ8064.
Я знаю, что процесс может (1) записывать в кеш страниц из своего буфера или (2) он может использовать Mmap для сопоставления кеша страниц непосредственно со своим виртуальным адресным пространством. В (1) некоторая функция будет вызываться как generic_perform_write. Но в (2) использует ли процесс memcpy() для записи в кеш страницы?
Более того, в исходном коде ядра есть много определений «memcpy», что действительно сбивает с толку. Как я могу отслеживать, когда процесс записывает в кэш страниц с помощью Mmap вместо использования своего буфера. И как я могу классифицировать многие memcpy, определенные в исходном коде ядра?
Еще один вопрос: когда я просматривал функцию обратной записи, я обнаружил какой-то файл, который записывается обратно на диск, имеет номер инода как 0. Меня это тоже очень смущает. Я думаю, что номер inode должен начинаться с 1. Спасибо за любую помощь.