How are you measuring where the CPU load is? Memcpy is not cheap/free,
it will cost you. How big is each xfer? Tons of tiny xfers will not
have good perf.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Loris Degioanni
Sent: Thursday, September 07, 2006 10:53 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB performance
Doron Holan wrote:
What % increase are you seeing?
I’m seeing a CPU load of ~30% on a P4 3.2 GHz for ~2k bulk transfers per
second.
What OS? Usb2.0 or 1.1? are you doing
Windows XP, USB 2.0.
any memcpys before sending the PIRP or on completion?
Yes, to move the data to a driver-allocated buffer. Their cost is close
to zero. The CPU load seems to be outside my driver, so I guess it’s in
the bus driver.
Loris
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Loris
Degioanni
Sent: Thursday, September 07, 2006 10:06 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB performance
I’ve developed a WDM device driver that performs bulk Rx transfers
from
a USB device, and I’m profiling its performance.
Looks like the CPU usage is pretty high, and is completely located in
the IRP interaction between my driver and the bus driver for the bulk
receives.
Should I expect the USB bus driver to be CPU inefficient, or should I
look for issues in my driver? Are there well known ways to improve the
CPU usage a high-rate USB drivers?
Thanks in advance,
Loris
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer