Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results


More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

CPU-Load comparison WDM/VxD

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hi all,

today I have compared the CPU load of our old VxD with the
CPU load of our new WDM driver under Win98.

It looks like Win98 needs much more CPU resources to
communicate with an WDM driver rather than with our old VxD.

It is in both cases a "standard" driver that only uses an IOCTL
interface to communicate with an Win32 application.
Both drivers are as much identical as the appropriate
driver architecture allows.

I used Intel's VTune and the MS System Monitor to compare both

total CPU: 31% 15%

NTKERN 4,94% 0,70%
KERNEL32 4,66% 1,44%

my VxD/WDM: 0,14% 0,15%

As you can easily see, my driver consumes in both cases nearly
the same ammount of CPU power. But there are two components
(NTKERN, KERNEL32) that do need more CPU power when using the
WDM driver.
As far as I know, NTKERN is needed under Win98 to create
the IRP's (including the IOCTL's) to an WDM driver.

Does this so much influence the total CPU load?

Anybody else here with similar experiences?

Best Regards,
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 24 January 2022 Live, Online
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online