[mythtv-users] MythTV problems with 3.7.x and 3.8.x kernel

Neil Salstrom salstrom at gmail.com
Tue Feb 26 02:22:52 UTC 2013


On Sun, Feb 24, 2013 at 8:48 AM, Larry Finger <Larry.Finger at lwfinger.net> wrote:
>
> I work in driver development for wireless devices and need to work with the
> latest cutting-edge kernels. As such, I have bisected for regressions many
> times. Note: The mainline tree only knows about the .0 version - any
> follow-on fixes are kept in a separate repository. Mainline refers to
> versions as v3.7, not v3.7.0.
>
> The 'git bisect' tool is very powerful; however, when bisecting between
> releases such as 3.6 and 3.7, the first set of commits frequently cause the
> most problems with build errors and run-time faults that have nothing to do
> with the bug under investigation. I would suggest starting with the git
> command 'git checkout v3.7-rc1'. If the resulting kernel is OK, then you
> bisect between v3.7 (bad) and v3.7-rc1 (good) and you will avoid the worst
> of those problems. If -rc1 has the problem with the DVD, then the bad
> version is v3.7-rc1 and good is v3.6.
>
> Good luck,
>
> Larry

SOLVED!!!!!!!!!!!!!

After ~12 or so bisect iterations this issue has been solved.  I don't
pretend to understand why it works but it does.

Oddly, the change happened in drivers/net/loopback.c starting with the
3.7 series kernel (commit 0cf833aefaa85bbfce3ff70485e5534e09254773).
Here is summary:

net: loopback: set default mtu to 64K

loopback current mtu of 16436 bytes allows no more than 3 MSS TCP
segments per frame, or 48 Kbytes. Changing mtu to 64K allows TCP
stack to build large frames and significantly reduces stack overhead.

Performance boost on bulk TCP transferts can be up to 30 %, partly
because we now have one ACK message for two 64KB segments, and a lower
probability of hitting /proc/sys/net/ipv4/tcp_reordering default limit.


The odd thing is there is no networking involved in playing DVDs on my
system.  It's a combined frontend / backend and the media drive is
local to the system.  Going back to the original mtu of 16346 bytes
fixes the stuttering when a DVD is played.  I've tested this fix with
both 3.7.9 and 3.8.0 kernels.

Does MythTV mount a dvd or .iso over a loopback device?

Now the question is who needs to see this (if anyone)?  The author of
the commit or a MythTV-dev?

Thanks for everyone's help in figuring this out.  Git bisect....
that's a new one to add to my list of tricks.

Neil


More information about the mythtv-users mailing list