
On Fri, May 9, 2025 at 11:47 AM Valentin Nechayev
hi,
Fri, May 09, 2025 at 10:33:42, vsharun wrote about "[uanog] Re: NIC interrupts / IRQs / Cores":
Александр Васильевич, Современная сетевая карта - это полноценный комп, это больше не 8237, саундбластер про и десяток их регистров/портов. Драйвера для нее настолько сложны, что нет смысла даже начинать, это сотни мегабайт кода фирмвари и мегабайты кода интерфейса со стороны ОС к этой фирмвари.
Ну обычно таки поменьше:) Весь e1000 в Linux, например, это полмега, из которых, если ужать все switch до конкретной модели, останется 100kB.
Я ж про современные сетевые, 25-100G, с RDMA, RoCE, FCoE
Я удивляюсь, что 8237 для чего-то в современной платформе ещё живо. Почему его не снесли, когда исчез последний ISA разъём с материнки?
Ретро. Один из челенджей - на каком самом быстром железе можно запустить голый дос без эмуляции с ISA звуковой (как правило что-то из последнего, где все глюки DMA вылечены, ESS1868/69, Yamaha 719, Crystal), и чтобы нетребовательные в хорошем смысле игры давали звук максимально выжимаемый - это не так просто как кажется. Т.е. General Midi дочки на waveblaster порт, хардварные модификации ямаховских карт, чтобы работал нормально low pass filter и т.п. На текущий момент - это Z87/Z97 (Haswell, т.к. разгоняются легко) с LPC to ISA мостом Fintek (LPC берется из TPM хедера) и висящей от PCH линии LDRQ#1. Стандарт sound blaster'а - он через 8237 DMA, Gravis Ultrasound - тот еще жестче завязан на DMA. LPC до 100й версии чипсетов Интела был полноценной ISA только в сериал варианте, у АМД в процессоре оно, пока трудно всё там.