On Sun, Mar 08, 2009 at 02:50:08PM -0500, Asim wrote:
> Thanks guys.
>
> The msleep solution looks good, but if my device does its work in 1
> micro or nano second then it seems a tad too long to sleep.
What is happening when you need to do this? Setup time? Or the normal
"fast path" for the data coming in/to the device?
> Here is
> what I ended up using -
>
> {
> .
> unsigned long long delta = (cpu/khz/HZ)*2;
How do you know the cpu speed? It constantly changes on lots of
different processors.
> unsigned long long _start = 0;
> unsigned long long _cur = 0;
> .
>
> timeout = rdstcll(start) + delta ;
>
> while (1) {
> if (_cur < timeout) {
> rdstcll(_cur);
> } else {
> flag_error()
> }
That's a busy loop, please don't do that, it's not nice unless you
_really_ know what you are doing and what is going on.
Again, be careful about how you try to calculate speed of the cpu, it
constantly changes.
thanks,
greg k-h
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ