Re: [linux-audio-dev] timesetevent alternative

From: Benno Senoner <sbenno@email-addr-hidden>
Date: Sun May 08 2005 - 19:22:46 EEST

Hi Lee,
Interesting.
But what's the exact behaviour in 2.6 kernels then ?
Does nanosleep() provide non-busywait usec precision using hires timers,
or does it simply do the same as usleep() ?
Eg providing only 1/HZ precison.

cheers,
Benno
http://www.linuxsampler.org

Lee Revell wrote:

>
>>Right,
>>nanosleep() might be a bit more precise than usleep() but for low sleep
>>values ( AFAIK < 2msec ) it
>>busywaits when you run your app SCHED_FIFO which in the case of
>>sustained streams of low sleep values
>>could chew up all the CPU, not idea for real time audio apps.
>>
>>
>>
>
>Not anymore. From man 2 nanosleep:
>
> Old behaviour
> In order to support applications requiring much more precise
>pauses (e.g., in order to control some time-critical hardware),
>nanosleep would handle pauses of up
> to 2 ms by busy waiting with microsecond precision when called
>from a process scheduled under a real-time policy like SCHED_FIFO or
>SCHED_RR. This special
> extension was removed in kernel 2.5.39, hence is still present in
>current 2.4 kernels, but not in 2.6 kernels.
>
>Lee
>
>
>
>
Received on Sun May 8 20:15:06 2005

This archive was generated by hypermail 2.1.8 : Sun May 08 2005 - 20:15:06 EEST