Linux-версия Windows «невыгружаемый пул» существует ли такая вещь? - PullRequest
1 голос
/ 26 октября 2010

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

Как Linux обрабатывает память, какие сетевые драйверы (или другие драйверы), которые требуют высокоскоростного монопольного доступа к оперативной памяти, и отвечает на вопрос «как читать напрямую из невыгружаемого пула? вообще имеет смысл применительно к Linux?

Большое спасибо

связанный вопрос

1 Ответ

3 голосов
/ 26 октября 2010

Некоторые сети, такие как Infiniband, поддерживают RDMA, что требует возможности предотвращения подкачки некоторых страниц в процессе.См. Функции mlock (), mlockall (), munlock (), munlockall ().

Кроме этого, я не думаю, что существует понятие «невыгружаемый пул» как таковое.Как правило, память ядра AFAIK недоступна для вывода на страницу, но вся пользовательская память, кроме заблокированной с помощью mlock () или чего-то подобного,

...