GHS>Кто-нибудь знает, чем можно спрофилировать драйвер? Нужно получить время отклика, потребляемые ресурсы.
Для Windows:
Driver Verifier: покажет динамику выделения памяти, захвата объектов синхронизации, а также найдет веротяно множество ошибок.
WinDbg + DriverVerifier ( рекомендую на Win7 тестироваться )
С помощью полезных команд
!poolused
!verifier
также может выводить нужную информацию
В windbg есть ужасно глюченная команда wt — автоматическая трассировка. Чисто теоретически, с ее помощью можно отпрофилировать небольшой кусок кода. На практике при работе в ядре она ужасно глючит.
KernRate — простейший профайлер, работает на основе встроенного в ядро профилировщика. При наличии отладочных символов может профилирует с точностью до функции ( не строит никаких графов вызовов ). Также выводит информацию по производительности: кол-во промашек памяти, загрузка CPU, DPC, количество операций ВВ.
XPerf ( только Vista ) — гораздо более навороченная прога, также работает на основе встроенного профилировщика, но обладачет гораздо более можными средствами анализа. Умеет строить деревья вызовов. Можно совместить профайлер с собственными WPP логами.
Все это добро бесплатно и свободно валяется на сайте микрософта ( Xperf ныне доступен только в составе SDK, который также можно скачать невозбранно ).
Из настоящих "профессиональных" профайлеров можно вспомнить:
Intel VTune ( платный )
AMD CodeAnalyst ( бесплатный )
Правда я ни то, ни другой не пробовал при работе с драйверами. Кстати, хотя эти профайлеры заточены естественно под одноименные процессоры, но никто не запрещает профилировать код, исполняемый и на вражеском процессоре. Конечно, может несколько точность пострадает, но если речь не идет об оптимизации до тактов процессора, этим можно пренебречь.
PS: что то я расписался сегодня, завязывать надо....