|
Bus Master DMA для PCIe |
|
|
|
Oct 8 2015, 19:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Приветствую. Собрал систему (см. рисунок) для передачи данных по PCIe. Ядро AXI Bridge for PCIe сконфигурировано в режиме x4, 64 bit, 250MHz, должно позволить прокачивать поток 16 Гбит/с. В качестве DMA используется ядро AXI DMA v7.1 в режиме Scatter-Gather. Кольцо дескрипторов и буферы данных выделяются в памяти ядра Linux. Ранее было сделано так, пропускная способность канала составляла ~6 Гбит/с. Тут опять упёрся в 6 Гбит/с, думал, что софт ограничивает производительность канала. Потом убрал вмешательство системы в работу DMA - инициализирую кольцо дескрипторов, запускаю DMA. DMA бросает данные пока не закончатся дескрипторы. Оценивая время обработки кольца дескрипторов и переданный объём данных, получаю чуть больше 6 Гбит/с. Вытянул сигналы AXI4-Stream между FIFO и DMA на ILA, вижу - FIFO держит TVALID всегда в 1, а DMA периодически (очень часто) сбрасывает TREADY в 0. Получается DMA является виновником ограничения скорости потока. В доке вычитал, что в тестах получали пропускную способность до ~70%, но это ~11,2 Гбит/с, меня бы устроило. Вопрос - как поднять производительность DMA? Как понимаю, AXI Interconnect и PCIe мост могут тормозить DMA?
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Oct 20 2015, 14:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(RobFPGA @ Oct 20 2015, 15:42)  Запустил генератор трафика на 250 MHz, с Вашими советами показало 13.56 Gbit/s. Спасибо, помогли. Если оставить AXI Interconnect в режиме auto и параметр DM_ADDR_PIPE_DEPTH для DMA со стандартным значением 1, получаю примерно тех же 9.3 Gbit/s. Руками набросать свой interconnect - это ещё нормально, но вот вручную править файлы, которые нагенерил IP Integrator, чтоб оно заработало нормально, - "ваще опа".
|
|
|
|
Сообщений в этой теме
doom13 Bus Master DMA для PCIe Oct 8 2015, 19:17 toshas Цитата(doom13 @ Oct 8 2015, 22:17) Кольцо... Oct 8 2015, 19:44 doom13 Цитата(toshas @ Oct 8 2015, 22:44) Может ... Oct 8 2015, 19:53 toshas На сколько тактов сбрасывает ? Какими пачками идет... Oct 9 2015, 04:27 doom13 На AXI4-Stream между FIFO и DMA картина следующая: Oct 9 2015, 12:14 toshas А что дальше, между dma и pcie ?
Я к тому, что ядр... Oct 9 2015, 12:26 doom13 На AXI4 между DMA и AXI Interconnect вот такая шту... Oct 9 2015, 13:23 doom13 Засинхронизировал триггер по начальному адресу буф... Oct 10 2015, 10:34 doom13 Увеличил burst size для DMA до максимального 256, ... Oct 10 2015, 14:13 toshas Можете в pcie-mm ядре встать анализатором на pipe ... Oct 10 2015, 19:22 doom13 Цитата(toshas @ Oct 10 2015, 22:22) Может... Oct 10 2015, 19:34 doom13 Цитата(toshas @ Oct 10 2015, 22:22) Может... Oct 16 2015, 11:33  RobFPGA Приветствую!
Цитата(doom13 @ Oct 16 2015... Oct 16 2015, 14:33   doom13 Цитата(RobFPGA @ Oct 16 2015, 17:33) ... ... Oct 16 2015, 19:45 toshas Мне кажется pcie-mm всегда позиционировалось как у... Oct 10 2015, 20:34 doom13 Цитата(toshas @ Oct 10 2015, 23:34) Мне к... Oct 10 2015, 21:23  RobFPGA Приветствую!
Для начала неплохо бы убедится ч... Oct 11 2015, 12:20   doom13 Цитата(RobFPGA @ Oct 11 2015, 15:20) Для ... Oct 11 2015, 20:19   doom13 Цитата(RobFPGA @ Oct 11 2015, 15:20) ... ... Oct 12 2015, 09:08 toshas Под линуксом выполните "lspci -vv" и пос... Oct 12 2015, 09:43 doom13 Цитата(toshas @ Oct 12 2015, 12:43) Под л... Oct 12 2015, 10:41  RobFPGA Приветствую!
Цитата(doom13 @ Oct 12 2015... Oct 12 2015, 14:33   doom13 Цитата(RobFPGA @ Oct 12 2015, 17:33) Хи-x... Oct 12 2015, 15:36 toshas Попробуйте воткнуть плату в слот ближайший к проце... Oct 12 2015, 11:06 doom13 Цитата(toshas @ Oct 12 2015, 14:06) Попро... Oct 12 2015, 12:01  KPiter Нет ли в биосе Initialization at Gen1\Gen2... Oct 12 2015, 12:33   doom13 Цитата(KPiter @ Oct 12 2015, 15:33) Нет л... Oct 12 2015, 12:58    KPiter Не понял был ли испробован вариант: поставить Xili... Oct 12 2015, 13:19 doom13 Цитата(toshas @ Oct 12 2015, 14:06) Попро... Oct 12 2015, 13:40 gosu-art 1. посмотреть в биосе материнки настройки PCIe
У ... Oct 12 2015, 11:09 toshas Есть ли в биосе настройка pcie spread spectrum clo... Oct 12 2015, 13:57 doom13 Цитата(toshas @ Oct 12 2015, 16:57) Есть ... Oct 12 2015, 14:08 gosu-art Может пока отложить видеокарту и подключится к вст... Oct 12 2015, 14:15 doom13 На другом ПК (на котором и видео работает в режиме... Oct 13 2015, 15:04 toshas Интересно узнать какую скорость удастся достигнуть... Oct 13 2015, 16:59 doom13 Перебрали систему - плата запустилась на 5 GT/s. Н... Oct 14 2015, 14:51 krux burst 128 попробуйте.
в большинстве случаев PCIe P... Oct 14 2015, 15:08 doom13 Цитата(krux @ Oct 14 2015, 18:08) burst 1... Oct 15 2015, 07:23 doom13 На верхнем слоте PCIe получил пропускную способнос... Oct 15 2015, 18:16 toshas Нет я как раз предлагал посмотреть трафик в систем... Oct 16 2015, 17:14 RobFPGA Приветствую!
Цитата(toshas @ Oct 16 2015... Oct 16 2015, 17:55  doom13 Цитата(RobFPGA @ Oct 16 2015, 20:55) Так ... Dec 1 2015, 11:06 RobFPGA Приветствую!
BVALID формирует axi_bridge ког... Oct 16 2015, 21:25 RobFPGA Приветствую!
Как говорится "Даренному ко... Oct 18 2015, 20:21 doom13 Цитата(RobFPGA @ Oct 18 2015, 23:21)
А ч... Oct 19 2015, 06:42 RobFPGA Приветствую!
Цитата(doom13 @ Oct 19 2015... Oct 19 2015, 07:45 doom13 Цитата(RobFPGA @ Oct 19 2015, 10:45) Кодa... Oct 19 2015, 08:53  RobFPGA Приветствую!
Цитата(doom13 @ Oct 19 2015... Oct 19 2015, 09:01 doom13 Для AXI Interconnect эти параметры надо править:
К... Oct 19 2015, 10:10 RobFPGA Приветствую!
Увы это издержки "удобств... Oct 19 2015, 11:07 Dmitrij68 Цитата(RobFPGA @ Oct 19 2015, 14:07) Прив... Oct 29 2015, 08:03 Dmitrij68 Цитата(RobFPGA @ Oct 19 2015, 14:07) Прив... Oct 29 2015, 08:03 doom13 Сделал всё, как Вы советовали. Должно было увеличи... Oct 19 2015, 13:42 doom13 Уточню вопрос: достаточно ли последних двух осцилл... Oct 19 2015, 18:59 RobFPGA Приветствую!
А у Вас часом не включен Interru... Oct 19 2015, 19:35 doom13 Проверю конечно, но разрешал прерывание по заверше... Oct 19 2015, 19:59 doom13 Извиняюсь, ввёл в заблуждение. Рисунки из поста вы... Oct 20 2015, 07:09 RobFPGA Приветствую!
По картинкам видно что тормозит ... Oct 20 2015, 09:34 doom13 Цитата(RobFPGA @ Oct 20 2015, 12:34) По к... Oct 20 2015, 12:37 doom13 Надо выбросить AXI Interconnect, что автоматом сге... Oct 29 2015, 08:09 doom13 Приветствую.
Новый вопрос по DMA. Сейчас делаю пер... Nov 30 2015, 12:03 RobFPGA Приветствую!
Дело не в том что для READ треб... Dec 1 2015, 13:45 doom13 Цитата(RobFPGA @ Dec 1 2015, 16:45) Дело ... Dec 1 2015, 14:16 doom13 Похоже, проблема либо в AXI Interconnect, либо в с... Dec 2 2015, 11:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|