У меня есть несколько вопросов относительно реализации mmap
в системах Linux, которые, похоже, не очень документированы:
При сопоставлении файла с памятью с помощью mmap
, как бы вы обрабатывали предварительную выборку данных в таком файле?
т.е. что происходит, когда вы читаете данные из mmaped региона? Эти данные перемещаются в кеши L1/L2? Является ли это прямое чтение из дискового кэша? Работает ли prefetchnta
и аналогичные инструкции ASM в mmap
зонах?
Какие накладные расходы на текущий вызов mmap
? Относительно количества отображаемых данных или констант?
Надеюсь, у кого-то есть некоторое понимание этого. Спасибо заранее.