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

 
 
> 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 10 2015, 19:22
Сообщение #2


Местный
***

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



Можете в pcie-mm ядре встать анализатором на pipe интерфейс (tx и rx) ?
По pcie у вас только в теории пойдут пакеты 4кб, но в реальности они будут по 128, ну может 256 байт.
А на пакет (группу пакетов) необходимо дождаться ack от хоста и только потом разрешать перезаписывать буфер.
Go to the top of the page
 
+Quote Post
doom13
сообщение Oct 16 2015, 11:33
Сообщение #3


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

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



Цитата(toshas @ Oct 10 2015, 22:22) *
Можете в pcie-mm ядре встать анализатором на pipe интерфейс (tx и rx) ?

Если можно расскажите тут подробнее, что это (pipe) и как работает? Что можно почитать по данной теме?
xapp1184 достаточно будет?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Oct 16 2015, 14:33
Сообщение #4


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

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



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

Цитата(doom13 @ Oct 16 2015, 14:33) *
Если можно расскажите тут подробнее, что это (pipe) и как работает? Что можно почитать по данной теме?
xapp1184 достаточно будет?

Нее - в PIPE лезть не нужно - это интерфейс к MGT - toshas наверное имел ввиду шины s_axis_rq_* s_axis_rc_* на самой pcie корке которая внутри bridge
Через эти шины TLP идут request/completion от bridge логики к pcie корке. Цепляете туда ChipScope - а еще лучше логер который будет Вам скидывать TLP header-ы и смотрите что куда тормозит. Конечно это сначало проще было бы на симе сделать.

Тут либо сам bridge не заточен на макс thruput, ну или DMA например не успевает подкачивать дескрипторы.
Можно попробовать разместить дескрипторы в памяти FPGA или выделить один большой непрерывный кусок физ памяти (>1MB) и все дескрипторы залинковать на него. И посмотреть изменится ли скорость или нет.
Если не изменится - то тогда или пробовать на дугой мамке, или скорее всего bridge не заточен на макс thruput, ну или универсальная причина №3 - ХЗ sm.gif.

Успехов! Rob.
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
|- - doom13   Цитата(toshas @ Oct 10 2015, 22:22) Может...   Oct 10 2015, 19:34
|- - 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
- - 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 Текстовая версия Сейчас: 28th July 2025 - 08:07
Рейтинг@Mail.ru


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