[mythtv] [mythtv-commits] Ticket #5749: Internal player stutters on 720p content
Michael T. Dean
mtdean at thirdcontact.com
Sat Oct 4 16:20:17 UTC 2008
On 10/03/2008 11:54 AM, MythTV wrote:
> #5749: Internal player stutters on 720p content
> --------------------------------+-------------------------------------------
> Reporter: zgeggy2k | Owner: janne
> Type: defect | Status: assigned
> Priority: major | Milestone: unknown
> Component: Video Playback | Version: 0.21-fixes
> Severity: medium | Resolution:
> Mlocked: 0 |
> --------------------------------+-------------------------------------------
>
> Comment(by zgeggy2k):
>
...
> When you tried to reproduce the problem did you use Fedora 9? (I'm
> wondering if libs/kernel that the frontend relies on have a specific
> behaviour).
> Maybe a scheduler issue (they may have introduced the "Completely Fair
> Scheduler"), but again, without CPU maxed out, it shouldn't be an issue,
> unless there's added latency when switching tasks that would make the
> frontend miss its deadlines.
>
> One thing I haven't tried is running it as root _with_real_time_priority_
> settings (which hopefully even CFS would honor). I'll give it a try.
Do they enable GROUP_SCHED? If so, are they using USER_SCHED as the
"Basis for grouping tasks?" If so, that's almost definitely the issue
and your system configuration should be fixed.
See, also:
http://www.mythtv.org/wiki/index.php/Troubleshooting:Prebuffering_pause#Kernel_Scheduler_Misconfiguration
and http://www.gossamer-threads.com/lists/mythtv/users/349300#349300
Note that the recommended fix there is to use CGROUP_SCHED as the "Basis
for grouping tasks." However, another approach is to continue to use
USER_SCHED and use, IIRC, uevent to recognize the creation of a new uid
and specify the cpu_share for the user, though this approach requires a
lot more work determining the appropriate cpu_share for each user.
Note, also, that even if the system is configured to use CGROUP_SCHED,
it's quite possible to break the configuration by specifying an
inappropriate cpu.share (yes, it really is cpu_share for USER_SCHED and
cpu.share for CGROUP_SCHED...) for some process groups.
To find out if you're using USER_SCHED, run:
if [ -d /sys/kernel/uids ]; then
echo USER_SCHED is enabled.
else
echo USER_SCHED is not enabled.
fi
If you're not, what's the output of:
if [ -d /dev/cpuctl ]; then
find /dev/cpuctl;
fi
Mike
More information about the mythtv-dev
mailing list