|
|
|
|
|
by ekr
3952 days ago
|
|
Any tips on profiling windows device drivers? I've tried xperf, but it doesn't allow you (or I haven't seen how) to change the frequency of the sampling, and can only do a system-wide profile. I've also tried vtune, but it doesn't support stack-tracing (or things like lbr) for system-wide profiling, and it doesn't have a specific option for sampling drivers. You can attach to the System process, but then you're missing a lot of the your driver code, that runs in other contexts. I kept thinking about implementing my own sampling profiler (using LBR for stack-tracing, and hardware performance events, like linux's oprofile/ freebsd's hwpmc), but I can't see how I could only profile my driver, and not the whole system, without hooking the Windows scheduler. I guess I will just profile the whole system and check if the program counter is inside my module. |
|