Цитата(Victor® @ Nov 3 2012, 12:08)

Это проблема при использовании ЛЮБЫХ способов. Не только PCIe.
согласен, но в случае с SRIO или Intarlaken можно оценить резервы - хотя бы по буферам принятых пакетов в самих IP-корках, и точно сказать что для того, чтобы "не пролилось" нужно обрабатывать не реже чем раз в N мкс.
В случае с PCIE никаких буферов нет, всё пишется с помощью DMA, но вот сказать через сколько мкс root отпустит первый completion и даст ready для пресылки второго - невозможно.
У нас были опыты с компами (Core2duo-e8200, 2xXeon-5520, и через свичи PLX8648 на обоих) - задержка везде разная, соответственно и максимальная установившаяся скорость везде разная, отклонения конечно небольшие, в пределах 2-5%. И теперь самое интересное, когда эти машины пинговали (я уж не говорю про SSH) скорость просаживалась в этот момент на треть.
В какое место ядра Linux надо лезть чтобы объяснить что прерывания сетевой подсистемы и вообще весь Netlink API менее важны чем прерывания от нашего изделия и вообще наш драйвер?
А без операционки PCIe поднять, мягко говоря, затруднительно. ;-)
Можно конечно QNX, но во-первых спецов днём с огнём не найти, во-вторых там тоже не всё идеально, и общая тенденция такова, что куски кода хотя и выполняется не более известного кванта времени, но арбитраж и планировщик зарезают производительность. Меня например отпугнула производительность дисковой подсистемы. Хватило настолько чтобы больше к вопросу о QNX вообще не возвращаться.
свичей под Interlaken по архитектуре вроде как не бывает, это же точка-точка. Соответственно как городить систему в xTCA или в VPX если нужна точка-многоточка не очень понятно.
соответствующих спецификаций VITA 46.x и PICMG тоже нет.
syoma, нашёл ваше предыдущее сообщение
http://electronix.ru/forum/index.php?showtopic=102008root у вас в Virtex, потому и в 1,5 раза дольше.
вообще в вашем случае я бы не ставил спартан со сбором на одной плате VPX а обработку на другой, а сделал бы две одинаковые платы, раскидав каналы АЦП на обе, и оставил бы virtex. Ну и обработку делал бы на них, никуда данные не гоняя.
или у вас каналы АЦП тесно связаны и разбить их на две разные группы нельзя?
Если так, то есть VPX 6U. Всё на одной плате, данные придется гонять не через трансиверы а напрямую между ПЛИС. На Virtex-6 в режиме SDR 650-700 МГц на пин можно принять/отдать. Один банк - на вход, второй - на выход. Можно посмотреть на OIF SFI-4.1 например, получите под 10 гигабит для связи между ПЛИС. мало?
http://www.xilinx.com/support/documentatio...tes/xapp856.pdf