[mythtv-users] mythtv + nfs = bad?

Dale Pontius DEPontius at edgehp.net
Fri May 8 00:22:26 UTC 2009


Torbjörn Jansson wrote:
> Hello.
> 
> first a short question, is there a way to force a frontend to always
> play recordings from the backen even if the recording is available
> locally via for example nfs?
> 
> i've recently upgraded to fedora 10 and after solving the normal pulse
> audio in combination with alsa problems (hint: "yum erase
> alsa-plugins-pulseaudio") i still have some odd playback issues.
> the recording plays nice for a few seconds, then ends up freezing
> playing for a few moments, then freezing again and so on.
> i manage to trace this to nfs behaving odd.
> 
There is a known problem with nfs that crept in somewhere back around 
2.6.25, and it does have hang problems.  I have read the thread in LKML 
and linux-nfs lists, and have seen the patches to fix it.  Unfortunately 
when I went back to get the final patches, because they went through 
several iterations, I was unable to find them.

As far as I know, the final fixups went into the mainline kernel at 
2.6.29, but it must be that you need that level on both server and 
client, because my servers are at 2.6.28 and my clients at 2.6.29, and I 
still have occasional hangs.  My servers are running Hardened Gentoo, 
and they don't have a hardened kernel out yet for 2.6.29.

There has also been a lot of filesystem and firefox thrashing going on 
recently.  Somewhere around 3.0.5 or so, firefox moved its settings into 
sqlite, and began fiddling with its sync policy, which may be causing 
bubbles in the i/o scheduler.  Also in this timeframe, ext4 came out 
with a few problems, forcing people to reexamine ext3 default settings. 
   There has been a lot of work, and things here are supposed to smooth 
out with 2.6.30, and performance of even ext3 is supposed to get better.

Dale
> first a little about my setup
> one server running the backen with lots of disk and cpu power (dualcore amd64)
> one frontend, via epia-m with recordings mounted over nfs.
> 
> when i tried to watch a recording the frontend complained and logged
> stuff like this:
> 
> NVP: prebuffering pause
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited 1.0 seconds for
> data to become available...
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited 2.0 seconds for
> data to become available...
> NVP: Prebuffer wait timed out 10 times.
> NVP: Prebuffer wait timed out 10 times.
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited 4.0 seconds for
> data to become available...
> NVP: Prebuffer wait timed out 10 times.
> NVP: Prebuffer wait timed out 10 times.
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited 8.0 seconds for
> data to become available...
> NVP: Prebuffer wait timed out 10 times.
> NVP: Prebuffer wait timed out 10 times.
> NVP: Prebuffer wait timed out 10 times.
> NVP: Prebuffer wait timed out 10 times.
> RingBuf(/mnt/store/20524_20090504125500.mpg) Error: Waited 16 seconds
> for data, aborting.
> Marking recording as unwatched
> TV: Attempting to change from WatchingPreRecorded to None
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited too long for
> ringbuffer pause..
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited too long for
> ringbuffer pause..
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited too long for
> ringbuffer pause..
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited too long for
> ringbuffer pause..
> RingBuf(/mnt/store/20524_20090504125500.mpg): Waited too long for
> ringbuffer pause..
> TV: Changing from WatchingPreRecorded to None
> 
> and then eventualy exiting back to the main menu.
> after some testing i found that copying files over nfs, like a
> recording to /dev/null made the whole computer freese until the file
> was completely transferred.
> something like this: "time dd if=/mnt/store/20524_20090504125500.mpg
> of=/dev/null bs=16k"
> 
> this in itself is a little odd and maybe we have some nfs experts that
> can enlighten me on why that happend.
> i believe the frontend have similar issues when trying to play a file,
> i'm guessing it have some kind of read ahead and when reading the rest
> of the frontend, like playback gets frozen and then once the read
> ahead have finished its job the playback realizes its too far behind
> and then triggers another read ahead and so on.
> 
> to test my theory i just unmounted the nfs share from my frontend and
> after that the playback was very smooth, this should force the
> frontend to stream from backend since it can't read the files localy.
> actually playback feels allot better without the nfs now than it ever
> have, jumping forward/backward is lightning fast.
> 
> this raises a few questions.
> * do nfs need some tweaking to work well with mythtv?
> * why can't i copy a large file without everything locking up?
> * is it normal for mythtv to be slower over nfs than streaming from
> backend? advantage/disadvantage with one over the other?
> * is it just me or have others experienced problems with nfs in
> combination with mythtv? (probably hard to know)
> * can the frontend be told to always stream from backend?
> * will running a backend on my via epia box next to the tv help? (no
> tv cards will be used)
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users



More information about the mythtv-users mailing list