FLTI 0 27 мая, 2014 Опубликовано 27 мая, 2014 · Жалоба Какой утилитой можно узнать Maximum Payload Size материнской платы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 27 мая, 2014 Опубликовано 27 мая, 2014 · Жалоба Под линуксом lspci lspci -vv -s 02:00.0 02:00.0 Class ff00: Altera Corporation Device e001 (rev 01) Subsystem: Device 5bde:1100 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 10 Region 0: Memory at fdbf0000 (64-bit, prefetchable) [size=64K] Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [80] Express (v2) Legacy Endpoint, MSI 00 DevCap: MaxPayload 2048 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #1, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 unlimited, L1 unlimited ClockPM- Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -3.5dB Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Но тут я вижу два MaxPayload, а какой из них относится к матери - не знаю, надо разбираться. Под виндоусом можно попробовать в программе pciscope посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 27 мая, 2014 Опубликовано 27 мая, 2014 · Жалоба Под виндоусом можно попробовать в программе pciscope посмотреть. Подскажите пожалуйста где в Рciscope есть данные о Maximum Payload Size? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Не запускается у меня Рciscope, 15 дней закончились уже давно, лицензию просит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Облазил весь Рciscope, но о Maximum Payload Size ничего не нашёл. В нём точно это есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Я с ним мало работал, так что "точно" не знаю есть он там или нет. Но он должен отображать все конфигурационное пространство. И если lspci показывает какие-то Maximum Payload Size, а берет он их точно из конфигурационного пространства, то и вероятнее всего Рciscope должен показать. Вот так вот сходу не нагуглил по какому адресу лежит Maximum Payload Size в configuration space. Еще может в биосе имеется какая инфа... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба По ходу поиска инфы о Maximum Payload Size наткнулся в книге "Юрий Зозуля Тонкая настройка компьютера с помощью BIOS. Начали!" ( Питер; Санкт-Петербург; 2010 ISBN 978-5-49807-693-5 ) на следующее определение: Maximum Payload Size Параметр присутствует в некоторых системных платах с шиной PCI Express и задает максимальный размер пакета данных, передаваемого по этой шине. Возможные значения – 128, 256, 512, 1024, 2048,4096. Они определяют максимальный размер пакета в байтах. По умолчанию устанавливается значение 4096, которое не следует менять без особой необходимости, поскольку при этом обеспечивается максимальная производительность PCI Express. Неужели Maximum Payload Size по умолчанию устанавливается значение 4096? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба По ходу поиска инфы о Maximum Payload Size наткнулся в книге "Юрий Зозуля Тонкая настройка компьютера с помощью BIOS. Начали!" ( Питер; Санкт-Петербург; 2010 ISBN 978-5-49807-693-5 ) на следующее определение: Maximum Payload Size Параметр присутствует в некоторых системных платах с шиной PCI Express и задает максимальный размер пакета данных, передаваемого по этой шине. Возможные значения – 128, 256, 512, 1024, 2048,4096. Они определяют максимальный размер пакета в байтах. По умолчанию устанавливается значение 4096, которое не следует менять без особой необходимости, поскольку при этом обеспечивается максимальная производительность PCI Express. Неужели Maximum Payload Size по умолчанию устанавливается значение 4096? У меня в проекте под Альтеру в настройках PCIE установлено Maximum Payload Size = 128. Можно увелиичить до 256 или 512. Трогать его не собираюсь, проект работает, скорость получилась 800МБайт/с, нас устраивает. Для материнской платы я не знаю какой Maximum Payload Size, но так как 128 - это минимум, то конфликтов быть не может. Я так понял есть два параметра Maximum Payload Size: 1. для девайса, указывающий максимальный размер пакетов, выходящих из девайса или входящих в девайс. 2. для рута (для материнской платы), указывающий максимальный размер пакетов, выходящих из рута или входящих в рут. Первый настраивается разработчиком девайса. Второй настраивается разработчиком материнской платы (или пользователем через опции биоса, если такие предоставляются). У вас вообще в чем проблема с Maximum Payload Size? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Да вот в соседней теме http://electronix.ru/forum/index.php?showtopic=121074 столкнулся с проблемой, что на матери P75 скорость host->FPGA падает по сравнению с P55. В ядре PCIe x 4 GEN1 на базе Altera HardIP в настройках PCIE тоже установлено Maximum Payload Size = 128. Ядро небыстрое, работает на внутренней частоте 125 МГц, поэтому максимум может ~400МБ/c. Но на P75 матери даже 300 МБ/с не пропускает, идут потери данных, а на P55 всё нормально. Я пытаюсь понять - в чём разница между этими двумя матерями, что так отличаются скорость в слоте PCIe x 4. Начать выяснение решил с того, чтобы выяснить - какой у них Maximum Payload Size. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Года 2 назад был такой экспириенс. Описание ситуации здесь http://electronix.ru/forum/index.php?showt...t&p=1077326. Там не расписал, но проблема дополнялась тем, что система намертво вешалась на системнике с процессором CoreDuo, а на системниках с Intel I3 и AMD Phenomx4 все работало без сбоев. При этом формирование заголовка пакета и самого пакета велось в соответствии с спецификацией на PCIE, но на одном компе вешалось, на двух других - нет. Вы пишите, что для PCIE корки установлено Maximum Payload Size = 128, тогда (по идеи) абсолютно не важно какой Maximum Payload Size у матери, она возвращаемые пакеты должна урезать до 128 байт. Вот если она этого не делает, тогда будут конфликты. А как вы формируете заголовок пакета? Какие Requester ID и Tag задаете? Другие поля заголовка? И в чем проявляется потеря данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба Вы пишите, что для PCIE корки установлено Maximum Payload Size = 128, тогда (по идеи) абсолютно не важно какой Maximum Payload Size у матери, она возвращаемые пакеты должна урезать до 128 байт. Вот если она этого не делает, тогда будут конфликты. А вдруг у P75 матери Maximum Payload Size < 128 ? А как вы формируете заголовок пакета? Какие Requester ID и Tag задаете? Другие поля заголовка? И в чем проявляется потеря данных? Это ядро у меня в виде .qxp, поэтому подробностей не знаю. Потеря данных - при пересылке host->FPGA вместо потока данных время от времени идут постоянные уровни. При пересылке FPGA->host такой проблемы нет, плата с этим ядром нормально работает на 300 МБ/с и на P55, и на P75. То есть дело не в плате, не в ядре, а какая-то особенность материнки. Возможно, что и на каких-то других материнках проблем не будет, а на каких-то будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 28 мая, 2014 Опубликовано 28 мая, 2014 · Жалоба А вдруг у P75 матери Maximum Payload Size < 128 ? Это ядро у меня в виде .qxp, поэтому подробностей не знаю... Так ведь "возможные значения – 128, 256, 512, 1024, 2048,4096". Меньше 128 не может быть. А сигналтапом можно подцепиться к внутренним сигналам .qxp? Например, к tx_st_valid, tx_st_data? Если удастся, то можно было бы посмотреть, что засылается в PCIE корку, и что из нее выходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться