|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vladimir Kurtukov 2:5006/1 07 Jun 2002 08:53:47 To : Slawa Olhovchenkov Subject : Re: Поллинг -------------------------------------------------------------------------------- Slawa Olhovchenkov <Slawa_Olhovchenkov@f500.n5030.z2.fidonet.org> wrote: VK>> большинство драйверов для PCI карт поддерживают DMA, SO> bus mastering -- это не DMA да, а что же? :-) я как-то считал, что это один из вариантов DMA... VK>> fxp - самый популярный. (есть сообщение, что ALTQ работает VK>> лучше с дешевыми картами, т.к. более частые прерывания дают VK>> ALTQ больше контроля) SO> Все хорошо, только привязка к bus mastering не совсем верна. Это SO> следствие не bus mastering, а того, что карта может принять задание на SO> передачу нескольких пакетов за раз и рапортовать только по завершении SO> всей передачи, что не позволяет altq отслеживать моменты отправки нужных SO> ей пакетов и выдерживать необходимые интервалы. Этот же эффект возможен SO> и без всякого DMA/bus mastering, если пакеты можно укладывать в буфер SO> карточки. У дижиборд буфера бывают до мегабайта. в теории - согласен, но на практике я _сетевух_ с такими буферами не видел. так что предъяви драйвер сетевухи из стандартной системы, который бы делал такое не используя DMA :-) кол-во буферизируемых пакетов должно быть в районе сотни, не меньше VK>> доп. информация для размышления: ALTQ работает только с исходящим VK>> траффиком. драйвер вытаскивает пакеты из очереди и буферизует их (у fxp - VK>> до 128 пакетов), карточка потом выгребает оттуда пакеты и посылает, дергая VK>> irq по завершению. чем больше пакетов буферизуется, тем реже дергается VK>> irq, тем меньше возможностей для контроля у ALTQ. у не-DMA карт/драйверов, VK>> так понимаю, прерывание дергается после передачи каждого пакета. SO> fxp умеет генерировать промежуточные прерывания и altq этим пользуется. в ALTQ нигде не говорится, что оно этим пользуется. по крайней мере я не видел. предъяви! :-) SO> Только вот похоже очередь внутри карты перестроить все равно не способна... VK>> естественно, в более низком irq rate виноват не сам DMA, а его VK>> использование в драйвере SO> Hет да :-) VK>> (ALTQ патчит драйвера и уменьшает кол-во буферизуемых пакетов) SO> Это ты гонишь. Т.е. дравера-то патчатся, но совсем с другой целью -- что бы SO> они использовали процедуры/макросы работы с очередями. не только. ы? ;-) +#ifdef ALTQ +/* + * device dependent tweak for ALTQ: if a driver is designed to dequeue + * too many packets at a time, we have to modify the driver to limit the + * number of packets buffered in the device. This modification + * often needs to change handling of tx complete interrupts as well. + * the fxp driver can pull as many as 128 packets (when FXP_NTXCB is 128). + * TXBUF_THRESH4ALTQ limits buffered packets up to 8. + */ +#define TXBUF_THRESH4ALTQ 8 +#endif -- Best regards, { Vladimir Kurtukov, ICQ 2929697 } Vladimir { vk@hvv.svzserv.kemerovo.su } { 2:5006/9@fidonet } --- tin/1.5.12-20020427 ("Sugar") (UNIX) (FreeBSD/4.5-STABLE (i386)) * Origin: SvzServ (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/10891682a3d42.html, оценка из 5, голосов 10
|