On Sat, 2009-04-25 at 13:23 -0700, John Lundell wrote:
>
> On Sat, Apr 25, 2009 at 9:44 AM, John Lundell <jdlundell@gmail.com>
> wrote:
>
>
> Hi Andy,
>
> I ran a bunch of tests where I started and tuners recording and then
> started and stopped tuners one by one to see if I could get a crash
> and of course, observing the process makes it work, no crashes.
:) Kind of like quantum mechanics.
> I have attached the output from dmesg for two different tries.
OK. I've looked at them.
As you already noted, there is no evidence of any crashes.
I'll note that you have a setup very similar to Brandon Jenkins' setup:
4 cores with cx18-0 sharing IRQ 19 with a AHCI disk controller and a USB
hub. You may experience an occasional lost buffer if writing to disks
hooked to that disk controller during captures.
I say this because, on occassion, your system isn't servicing the
CX23418 interrupt in a timely fashion ("Possibly falling behind" with
the ones that say "while processing" being not as late). You're not
losing video buffers though. The only missed buffer sweep ups ("it must
have dropped out of rotation") I see are happening after the
CAPTURE_STOP when the CX23418 rapid fires back a bunch of empty buffers
- nothing to worry about.
> On the mythbackend crash log, there was nothing, just going to record
> program xyz and then nothing else.
Alright. If you can't reproduce the bug in a day or two, I'll make a
small prophylactic patch -- to ensure the cx18 driver doesn't attempt to
queue a work object that's already queued -- and ask that to be
pulled.
I suspect that patch may not be necessary, but it closes off the most
likely failure mode that I can think of that would cause an app to
crash. When an app reads from an analog TV cature stream, the driver
ends up calling cx18_stream_put_buf_fw() when a buffer is emptied.
cx18_stream_put_buf_fw() then calls queue_work() attempting to queue the
work object for that stream. If the kernel doesn't gracefully handle
attempted (re)queueing of an already queued work object, then I could
see how the cx18 driver would cause MythTV to crash (with an Oops or Bug
in /var/log/messages).
The only other thing I could have gotten wrong is the cx18 driver
internal buffer queueing. But I was so paranoid about that, I'm pretty
sure I got it right. Though, feel free to inspect the patches near the
tip of the cx18-perf repo if you want to try and spot anything amiss:
http://linuxtv.org/hg/~awalls/cx18-perf/ Regards,
Andy
> John
_______________________________________________
ivtv-devel mailing list
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel