adron2 Posted September 12, 2012 (edited) Собственно давно мучают вопросы по пункту DMA Engine support в ядре линукса. А конкретнее вот какие: 1) Просто включение этого пункта без выбора какого либо драйвера для dma engine(Intel I/OAT DMA support, etc...) включает какую то базовую поддержку dma? 2) Intel I/OAT DMA support - написано что это только для новых процессоров xeon. Имеет ли смысл это включать на core duo/quad? 3) Intel MID DMA support for Peripheral DMA controllers - как я себе понимаю сервер SuperServer 5015A на Atom D510 тоже относится к MID и в атоме есть DMA engine. Нужно ли его включать для такого вот сервера? 4) Реально ли добавляется производительность при включении Network: TCP receive copy offload и нужно ли для этого включить один из dma enigines(Intel I/OAT DMA support or Intel MID DMA support for Peripheral DMA controllers) Проясните знающие люди эти вопросы...а то гугливание что то особо не помогло мне ( Заранее спасибо. Edited September 12, 2012 by adron2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted September 12, 2012 http://cateee.net/lkddb/web-lkddb/DMA_ENGINE.html - думаю, смысла расписывать что-либо подробнее нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted September 12, 2012 Для I/OAT - прироста нет, по моему опыту, а вот глюки бывали. Видимо прирост бывает в каких-то специфических ситуациях, например когда контент обрабатывается локально. Будет время, потестирую снова, на свежем железе. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted September 12, 2012 В случае роутинга хватит ДМА сетевух, а базовый=системный будет простаивать. Базовый нужен только если у вас внутри ворочаются горы памяти, типа база стоит или что то ещё. Для раздачи с диска - уже давно есть свои ДМА. Если кратко: пакеты наваливаются в буфер сетевухи, она их своим ДМА пишет в память и через прерывание сообщает что оно уже есть в памяти, дальше ядро просматривает заголовки полученных пакетов и инициализирует ДМА для отправки дальше. В обоих случаях это ДМА самой сетевухи, никаких крупных операций с память не происходит, дма системы там применить просто некуда, дешевле копировать процом те жалкие десятки байт. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted September 12, 2012 Базовый нужен только если у вас внутри ворочаются горы памяти, типа база стоит или что то ещё. I/OAT DMA - его задача, если не ошибаюсь, положить данные в кеш проца, а не память. Тут может и быть прирост, а может и не быть или быть незаметным, в зависимости от латентности памяти и накладных расходов на этот самый I/OAT DMA. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted September 12, 2012 С пакетов чекается не больше 48 байт, такое проще копировать, чем инитить дма и потом его запускать и хэндлить. А собственно в кеш запихать можно и обычным способом - прочитав. Кстати, по п4 - при роутинге TCP вообще не разбирается, так что пофик включено или нет. На карточках наооборот выключают разбор (лро, гсо и пр). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted September 12, 2012 С пакетов чекается не больше 48 байт, такое проще копировать, чем инитить дма и потом его запускать и хэндлить. ДМА все равно инитится. Т.к. пакет из сетевухи ложится в память, и потом уже оттуда передается ядру. Если он будет ложиться не в память, а в кеш - это потенциально ускорит форвардинг. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted September 13, 2012 Это уже I/OAT DCA, нужно чтоб и карта поддерживала. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...