реклама на сайте
подробности

 
 
> Bus Master DMA для PCIe
doom13
сообщение Oct 8 2015, 19:17
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
toshas
сообщение Oct 16 2015, 17:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 372
Регистрация: 14-02-06
Пользователь №: 14 339



Нет я как раз предлагал посмотреть трафик в системе (какие пакеты проходят mgt).
Но в принципе не важно с какой стороны начинать разбираться.
По факту надо отследить всю цепочку:
MGT -1.(txdata/rxdata)- PCIE -2.(ll/s_axi) - MMcore -3.(axi)- DMA -4.(axi)- source
Так можно найти, кто причина простоя, но может оказаться, что это просто следствие накладных расходов цепочки такой длины.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Oct 16 2015, 17:55
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(toshas @ Oct 16 2015, 20:14) *
Нет я как раз предлагал посмотреть трафик в системе (какие пакеты проходят mgt).
Но в принципе не важно с какой стороны начинать разбираться.
По факту надо отследить всю цепочку:
MGT -1.(txdata/rxdata)- PCIE -2.(ll/s_axi) - MMcore -3.(axi)- DMA -4.(axi)- source
Так можно найти, кто причина простоя, но может оказаться, что это просто следствие накладных расходов цепочки такой длины.

Ой - разбирается на уровне PIPE это труба дело sm.gif . DLP layer, K-коды, AK-и NAK-и постоянно туда сюда снуют. ужас! wacko.gif
Проще сначала на TLP layer посмотреть. Так как операция WRITE на PCIE не требует completion то тут или в bridge для PCIe настройки буферов зажаты или потери времени на чтение/update дескрипторов велики. Все же CDMA разрабатывался для внутреннего употребления а не для PCIe.

Я вот свою железку симулирую - так latency на чтение дескриптора из памяти ~500 нс (x8 gen2) и это при PIPE симуляции и без задержек на стороне модели RC.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 1 2015, 11:06
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(RobFPGA @ Oct 16 2015, 20:55) *
Так как операция WRITE на PCIE не требует completion...

Можно ли объяснить снижение скорости при чтении тем, что READ на PCIe требует completion? Если да, то во сколько раз они могут отличаться? Получаю скорость записи (FPGA -> PC) примерно в 1.8 раза больше чем скорость чтения (PC -> FPGA).
Ниже рисунки:
1 - DMA перебрасывает данные из ПК в FPGA (+ они же обратно FPGA -> PC, интерфейс DMA S2MM не показан);
2 - DMA перебрасывает данные из FPGA в ПК (однонаправленная передача FPGA -> PC).
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - 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
- - RobFPGA   Приветствую! "Ну, что же Вы, Иван Иваныч...   Oct 20 2015, 12:42
|- - doom13   Цитата(RobFPGA @ Oct 20 2015, 15:42) Зап...   Oct 20 2015, 14:40
- - 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01458 секунд с 7
ELECTRONIX ©2004-2016