[mythtv-users] Playback problem -- random short pauses

Russell Gower mythtv at thegowers.me.uk
Mon May 23 15:18:33 UTC 2011


This is the only reference I could find in 0.24-fixes, the class doesn't seem to exist in 0.23. How dangerous is disabling this method?
 
my backend is on a UPS so i'm up for trying it.

void ThreadedFileWriter::Sync(void)
{
    if (fd >= 0)
    {
#if HAVE_SYNC_FILE_RANGE
            uint64_t write_position;

            buflock.lock();
            write_position = m_file_wpos;
            buflock.unlock();

            if ((write_position - m_file_sync) > TFW_MAX_WRITE_SIZE ||
                (write_position && m_file_sync < (uint64_t)tfw_min_write_size))
            {
                sync_file_range(fd, m_file_sync, write_position - m_file_sync,
                                SYNC_FILE_RANGE_WRITE);
                m_file_sync = write_position;
            }
#elif HAVE_FDATASYNC
            fdatasync(fd);
#else
            fsync(fd);
#endif
    }
}

Cheers
  Russell

On 23 May 2011, at 14:41, Mark Lord wrote:

> On 11-05-23 08:08 AM, Steven Adeff wrote:
> ..
> 
>> Are any of the more involved Dev's other than JYA paying attention to
>> this? (this is a callout for them to answer).
>> 
>> It's looking like this may be a major issue that many users, with
>> varying levels of hardware, are experiencing. I think it may be time
>> to  create a ticket for this issue, but it would be nice to have a dev
>> that can work with us in figuring out what's going on, and how exactly
>> to create a ticket that will lead to some debugging help from the
>> dev's for the users experiencing the problem to use to troubleshoot.
>> 
>> the other end of all this is that it may be an issue that some of the
>> further tweaking that's been done for the next release has resolved
>> already. I'm wondering if anyone running off the latest git is
>> experiencing?
> 
> 
> I take it this is only (or is it primarily?) happening in trunk,
> and not in 0.24-fixes?  I only run the latter here (no pauses).
> 
> What I would look for in the code, are sync(), fsync(),
> and fdatasync() calls.  Those generally force writes to happen
> and pause a lot of stuff to wait for them to complete in real-time.
> 
> Which can lead to tiny pauses and glitches elsewhere.
> 
> So just as a trial, perhaps grep through the code looking for those,
> and temporarily remove them, to see if the problem then goes away.
> That should prove/disprove this theory.
> 
> Cheers
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users



More information about the mythtv-users mailing list