[vdr] [PATCH] limit streamdev client's ringbuffer timeouts to more sane values

Artur Skawina art_k at o2.pl
Fri Apr 6 15:05:05 CEST 2007


Stone wrote:
> On 4/5/07, *Artur Skawina* <art_k at o2.pl <mailto:art_k at o2.pl>> wrote:
>     With the high-res timers in kernel 2.6.21+ usleep(1) is no longer
>     treated as
>     usleep(10000) and the streamdev client is almost unusable; it uses
>     most of the cpu
>     and causes hundreds of thousands context switches per second.
>     This gets rid of the almost-busy-loop.

> How about his approach?
> 
> --- streamdev/client/filter.c.orig      2007-04-05 20:45:04.000000000 -0700
> +++ streamdev/client/filter.c   2007-04-05 20:45: 44.000000000 -0700
> @@ -135,7 +135,7 @@
>                         }
>                         m_RingBuffer->Del(TS_SIZE);
>                 } else
> -                       usleep(1);
> +                       cCondWait::SleepMs(1);
>         }
>  }

sure, just changing it to 'usleep(10000)' works too. Is there a reason to avoid
the ringbuffer infrastructure?

artur



More information about the vdr mailing list