Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Passthru тормозит сеть.  (Прочитано 5213 раз)
0 Пользователей и 1 Гость смотрят эту тему.
_Ilya
Гость
« : 23-04-2009 06:57 » 

Добрового времени суток всем драйверописателям.

У меня недавно возникла проблема с Passthru работающим на машине с установленым 100Mbit'ой сетевухой (Realtek RTL8139 Family PCI Fast Ethernet NIC), причем исключительно на входящий трафик. Описываю ситуацию: заглушил все, что мог и получил...

Пакет приходит и попадает в PtReceive, где я тут же вызываю NdisMEthIndicateReceive.
Далее Вызывается MPTransferData, где опять же вызывается NdisTransferData.
Потом происходит возврат в PtReceive и, наконец, все комплитится (PtReceiveComplete с функцией NdisMEthIndicateReceiveComplete).
В отладчике посмотрел, что в основном работа тормозится при возврате в PtReceive из MPTransferData.
С другими сетевухами не проверял, но есть подозрение, что подобное случится на всех 100Mbit'ых.

На 1Gbit'ых работает все нормально, но там пакеты проходят через функцию PtReceivePacket, где, насколько я понял, обрабатываются сразу цепочки пакетов.

В связи с этим у меня пара вопросов:
1. Как можно ли ускорить работу в PtReceive?
2. Можно ли направить пакеты через PtReceivePacket (можно ли сформировать цепочки из отдельных пакетов)?

З.Ы. Очень нужно... Не понял
Записан
_Ilya
Гость
« Ответ #1 : 09-08-2009 22:49 » 

Разобрался. Ошибка проявляется тольлко для passthru из 2003 DDK. Там на приеме пакета стоит некорректная проверка состояния устройства. - Пакет не пропускается, если его состояние D0 Улыбаюсь и пропускается для других состояний. В последующем WDK эта ошибка устранена.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines