USB , NDIS, kernel framework

Тема в разделе "WASM.NT.KERNEL", создана пользователем Ox8BFF55, 25 янв 2010.

  1. Ox8BFF55

    Ox8BFF55 New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2009
    Сообщения:
    181
    Немного о задачи
    Есть USB драйвер, который осущестляет связь с USB устройством на котором стоит Линукс. NDIS драйвер стоит сверху от USB. USB драйвер написан на Wdf апи. NDIS на ndsi апи. Юзби перехватывает(если так моно назвать) IoCallDriver от ндиса. Всю работает, но производительность....
    То и есть если поднять RNDIS на винде и линуксе(девайсе) то скорость возростает в два раза.
    А если поднять Линукс(ПС) и Линукс(девайс) то скорость еще в 2,5 раза растет...

    Почему? Где может быть затык?


    Какое какие мысли:
    Wdf - организован на классах, и большой происходит кол функций(со спинами) что бы дойти до цели. Быть может mdf больше даст производительности? Так как на более мощном компьютер производительность ростет, при чем вальюруется, то и есть раздница от одного компьютер с другим может быть практически в 2 раза.

    Еще бугает что Ндис с Изби связаны по фрейворку....

    Что посоветуете? Так как код писан не мною, и варован из WDK(DDK)////

    П.С. Сетевой драйвер постоянно кидает Х запросов к Юзби драйверу(в отдельном потоке...)....
     
  2. Ox8BFF55

    Ox8BFF55 New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2009
    Сообщения:
    181
    Может кто то посоветует что можно посмотреть почитать по оптимизации юзби драйверов?
    Или есть пример уже оптимизированных?
    Так как логика ворованная из DDK.(src\kmdf\usbsamp\sys\ ) ну и понятно что WDK осталось та, только будет другой \src\usb\usbsamp\