[linux-audio-dev] Re: mini Review: Re: [Jackit-devel] latest CVS commit

Paul Davis paul at linuxaudiosystems.com
Tue Dec 2 04:16:52 UTC 2003


>On Monday 01 December 2003 20.48, Paul Davis wrote:
>
>> i'd appreciate test reports ASAP, so that out trusty release
>> technician (the very wonderful taybin rutkin) can get a new release
>> out in the near future.
>>
>
>alsa_driver.c
>
>	driver->period_usecs =3D
>		(jack_time_t) floor ((((float) driver->frames_per_cycle) /
>				      driver->frame_rate) * 1000000.0f);
>
>jackd/engine.c
>	poll_timeout =3D (engine->control->real_time =3D=3D 0 ?
>			engine->client_timeout_msecs :
>			engine->driver->period_usecs/1000);
>
>	- - -
>
>	if (poll (pfd, 1, poll_timeout) < 0) {
>
>Isn't this dangerous?
>* What happens if period_usecs < 1000?
>  Well poll_timeout gets 0 since period_usecs is an uint64_t
>  A poll with time out of zero will return immediately.
>  OK?

well, there is no alternative really. the kernel has no time
resolution less than 1msec even on modern kernels with HZ=1000. so
setting it lower could be rather risky, given the use of busywaits for
some other SCHED_FIFO delays (see the code for usleep).

but yes, you are right, it is dangerous. we should probably sleep for 
max (1msec, period_msecs). agree?



More information about the Linux-audio-dev mailing list