Hi,
I think you need to first know how PIO and DMA IO work, just see in that.
And then confirm the things you got in the practical scene.
DDK says:
“KeQueryPerformanceCounter is intended for time-stamping packets or for
computing performance and capacity measurements. It is not intended for
measuring elapsed time, for computing stalls or waits, or for iterations.
Use this routine as infrequently as possible. Depending on the platform,
KeQueryPerformanceCounter can disable system-wide interrupts for a minimal
interval. Consequently, calling this routine frequently, as in an iteration,
defeats its purpose of returning very fine-grained, running time-stamp
information. Calling this routine too frequently can degrade I/O performance
for the calling driver and for the system as a whole.”
Luck,
>From: “Ryu”
>Reply-To: “Windows System Software Devs Interest List”
>
>To: “Windows System Software Devs Interest List”
>Subject: [ntdev] CPU locked by KeQueryPerformanceCounter()
>Date: Thu, 6 Jan 2005 13:50:03 +0900
>
>Hi, everyone.
>
>I got a problem when I counted DMA transferring rate.
>
>When I was using the function KeQueryPerformanceCounter() after starting up
>DMA transfer in driver, the transferring rate became faster than not using
>this function.(counting the transfer rate on APP, but for debuging,
>checking
>the CPU timing on driver using KeQueryPerformaceCounter. )
>
>It was said the when using this function in kenerl mode, maybe the CPU was
>locked by this function. But I could not find some information to support
>this opinion. Who can help me?
>
>Best regards,
>Thanks.
>
>—
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
_________________________________________________________________
Hey there NRIs! Desi news, films, ‘n more! http://www.msn.co.in/nri/ Stay in
the loop!