|
|
  |
Какой утилитой можно узнать Maximum Payload Size материнской платы? |
|
|
|
May 27 2014, 23:02
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Под линуксом 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 посмотреть.
|
|
|
|
|
May 27 2014, 23:51
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(novartis @ May 28 2014, 07:12)  Под виндоусом можно попробовать в программе pciscope посмотреть. Подскажите пожалуйста где в Рciscope есть данные о Maximum Payload Size?
|
|
|
|
|
May 28 2014, 03:19
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
По ходу поиска инфы о 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?
|
|
|
|
|
May 28 2014, 03:30
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Цитата(FLTI @ May 28 2014, 12:29)  По ходу поиска инфы о 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?
|
|
|
|
|
May 28 2014, 03:50
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Да вот в соседней теме 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.
|
|
|
|
|
May 28 2014, 04:30
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Года 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 задаете? Другие поля заголовка? И в чем проявляется потеря данных?
|
|
|
|
|
May 28 2014, 05:08
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832

|
Цитата(novartis @ May 28 2014, 12:40)  Вы пишите, что для PCIE корки установлено Maximum Payload Size = 128, тогда (по идеи) абсолютно не важно какой Maximum Payload Size у матери, она возвращаемые пакеты должна урезать до 128 байт. Вот если она этого не делает, тогда будут конфликты. А вдруг у P75 матери Maximum Payload Size < 128 ? Цитата(novartis @ May 28 2014, 12:40)  А как вы формируете заголовок пакета? Какие Requester ID и Tag задаете? Другие поля заголовка? И в чем проявляется потеря данных? Это ядро у меня в виде .qxp, поэтому подробностей не знаю. Потеря данных - при пересылке host->FPGA вместо потока данных время от времени идут постоянные уровни. При пересылке FPGA->host такой проблемы нет, плата с этим ядром нормально работает на 300 МБ/с и на P55, и на P75. То есть дело не в плате, не в ядре, а какая-то особенность материнки. Возможно, что и на каких-то других материнках проблем не будет, а на каких-то будет.
|
|
|
|
|
May 28 2014, 05:16
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Цитата(FLTI @ May 28 2014, 14:18)  А вдруг у P75 матери Maximum Payload Size < 128 ?
Это ядро у меня в виде .qxp, поэтому подробностей не знаю... Так ведь "возможные значения – 128, 256, 512, 1024, 2048,4096". Меньше 128 не может быть. А сигналтапом можно подцепиться к внутренним сигналам .qxp? Например, к tx_st_valid, tx_st_data? Если удастся, то можно было бы посмотреть, что засылается в PCIE корку, и что из нее выходит.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|