будет ли mmap использовать пользовательский процессор вместо целого sys? (Solaris) - PullRequest
1 голос
/ 08 мая 2009

при использовании mmap для выделения некоторого анонимного mem мы часто устанавливаем начальный адрес как 0 / null, поэтому mmap сам определит начальный адрес. И чтобы получить начальный адрес, он будет работать, продумывая все пространство виртуальной памяти, чтобы найти дыру, которая могла бы разместить патрон памяти для выделения. Я думаю, это рассчитывается как пользовательский процессор вместо системного процессора. Если виртуальная память фрагментирована, то для поиска начального адреса потребуется больше пользовательских процессоров, насколько я понимаю, правильно

1 Ответ

6 голосов
/ 08 мая 2009

Я не думаю, что это правильно. Время, проведенное в системном вызове mmap, считается системным временем. Время найти достаточно большое окно адресного пространства и настроить сопоставления должно быть тривиальным.

...