[vdr] cUnbufferedFile and NFS mounted video dir
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Sun Jan 29 10:47:55 CET 2006
Artur Skawina wrote:
> Klaus Schmidinger wrote:
>
>> Artur Skawina wrote:
>>
>>> However i consider the whole patch a bugfix :) Now that the fsyncs
>>> are disabled it probably isn't that critical though.
>>
>>
>> So does this mean that without the fdatasync() calls it works ok as
>> it is in plain vanilla VDR (without any patch)?
>
>
> As I haven't run vdr w/o this patch for a long time, i'm not sure.
> Apparently
> things are not ok, as this thread shows, but other vdr-1.3.38+ users
> with a 2.6
> kernel could answer the above question better...
> For me it was the sync calls that made me look at this code; w/o them
> things
> weren't as bad, IIRC. I ended up disabling the fdatasyncs completely
> even when
> using fadvise.
>
>> What is the exact meaning of the "WriteStrategy" option?
>> Does it simply turn the fadvise stuff on/off, or is there more
>> magic behind it? I would prefer a version that works without this
>> option, because this is nothing a normal user would easily know
>> how to set.
>
>
> it started as a debugging knob, so i could test the impact of the sync
> calls,
> compare cutting speed w/ fadvise on/off etc.
> (Setup.WriteStrategy==1) meant no POSIX_FADV_DONTNEED calls while
> accessing a
> file (the calls were always made when closing a file).
>
>> So, if you can provide a patch against the latest VDR version that
>> still uses "#ifdef USE_FADVISE" to completely turn the fadvise
>> stuff off, and does _not_ introduce another setup option, I might
>> consider including it for the final version 1.4.
>
>
> i did the minimal fix to the existing vdr code -- note it's far from
> optimal,
Well, this is pretty much the killer argument against including it for
version 1.4, I'm afraid.
I guess I'll leave everything as it is right now, until there is
a common consensus about the optimum solution (which will no require
any setup options - it might automatically adapt to different
situations, like local file, NFS etc.). All file access is
hidden inside cUnbufferedFile, so people can test whatever patches
they like. Basically plain simple write()/read() calls should be handled
gracefully by any file system, so the sole benefit from cUnbufferedFile
would be not to clutter the file system cache, but that's probably
no longer such a big problem since VDR caches the recordings data
and thus can bring up the Recordings menu immediately, even if
recordings are currently being made.
Klaus
> and i suspect there are cases where the fadvise-enabled version
> isn't necessarily an improvement. An option which basically turns
> USE_FADVISE into a runtime switch would be useful.
> As i haven't needed the option myself lately, in fact didn't even
> remember what
> exactly it did and had to check the code, i just killed it, patch attached.
> It's vs 1.3.39 because the UI/channel-switch posts scared me away from
> upgrading
> vdr, still remembering the broken menu key experience... ;)
> cutter.c part is entirely optional (affects only cutting speed).
>
> artur
More information about the vdr
mailing list