Как отключить копирование при записи и заполнение нулями по запросу для mmap()

Я реализую команду cp (копирование файла) с помощью mmap() . Для этого я сопоставил исходный файл в режиме MAP_PRIVATE (поскольку я просто хочу прочитать) и целевой файл в режиме MAP_SHARED (поскольку мне нужно записать измененное содержимое целевого файла).

При этом я заметил снижение производительности из-за большого количества незначительных сбоев страниц, которые происходят по двум причинам. 1) Нулевое заполнение по запросу при вызове mmap(MAP_PRIVATE) для исходного файла. 2) Копировать при записи при вызове mmap(MAP_SHARED) для целевого файла.

Есть ли способ отключить нуль-заполнение по требованию и копирование при записи?

Спасибо, Harish

6
задан osgx 22 June 2012 в 14:53
поделиться