[mythtv] [PATCH] RingBuffer - fsync thread

Kyle Rose krose+mythtv at krose.org
Sun Dec 12 15:01:53 UTC 2004


>> As Isaac suggested, this patch moves the fdatasync(fd) call to it's own 
>> thread.  The means that the ThreadedFileWriter does not have to wait for 
>> that call to return before processing data.
>
> What is the need to force a sync anyway? 

In my experience, the default Linux I/O scheduler will completely
monopolize the bus at the standard sync interval, causing dropped
frames and audio drop-outs.  Syncing more often reduces latency which
reduces the likelihood of these problems.  It's a hack, but syncing
more often worked for me for many months until I found a better
solution.

FWIW, I've had good success using the CFQ I/O scheduler in place of
the anticipatory scheduler, the latter of which is the default despite
being the root cause of lots of these problems.  CFQ results in lower
throughput but much greater fairness.

Cheers,
Kyle


More information about the mythtv-dev mailing list