memcpy через пользовательское пространство DMA: возможно ли достичь memcpy через пользовательское пространство DMA в linux? Я знаю, что есть способы скопировать буферы ядра в буфер пространства пользователя через DMA, но хотелось бы расширить это для memcpy через DMA в пространстве пользователя? Какие-нибудь мысли ?
DMA работает на физической памяти и отображаемых в памяти устройствах, тогда как большинство приложений пользовательского пространства работают на виртуальной памяти. Это представляет две проблемы:
На современном процессоре memcpy (), вероятно, будет достаточно эффективным как в программном, так и в аппаратном обеспечении, пока вы не скопируете 10 мегабайт за раз, после чего вам все равно нужно тщательно продумать кеширование и виртуальную память. Короче, я бы не стал беспокоиться.
Других решений пока нет …