...
Currently
wperf
user space application is usingcfgmgr32.lib
to detect uncore PMU resources. We should be able to move this to the driver side.
Driver Verifier
Driver Verifier monitors Windows kernel-mode drivers and graphics drivers to detect illegal function calls or actions that might corrupt the system. Driver Verifier can subject Windows drivers to a variety of stresses and tests to find improper behavior. See
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Isolate and fix most critical findings from DV.
Other (sort out other issues that may influence driver’s performance or stability).
wperf-devgen
Project wperf-devgen
is a help utility to install the WindowsPerf Driver using the Software Device API.
...
Goal: Evaluate and report possible driver vulnerabilities and solve them.
IOCTRL
Check and refactor / evaluate IOCTRL strategy.
Misc
Evaluate all DPCs and interrupt handlers. We want to make sure each DPC and interrupt handle is efficient.
See example issue
where we use few events to count. We want to make sure all interrupts are being handled so that user space can collect from driver accurate sapling data.Jira Legacy server System JIRA serverId 59107c6f-1e52-32bc-b58f-400d54bba998 key WPERF-451
Evaluate changes done in https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/tree/beta?ref_type=heads.
Add testing when one or more GPCs are not available.
Functions inside
device.c
are too big and complex, we want all this to be broken down and become more easily maneageable.Looks like when we stop counting/sampling some events are spilled over to the next iteration. See comments on [wperf-scripts] Add to regression tests sleep between core loads (!389) · Merge requests · linaro / WindowsPerf / WindowsPerf · GitLab and here [wperf-driver] Reset the counters on PMU_CTL_RESET (!388) · Merge requests · linaro / WindowsPerf / WindowsPerf · GitLab