[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