Johnny Strom wrote:
Hello
I have setup a system that captures jpeg pictures from four v4l devices
it's 4 Hercules smart TV cards.
And first I did a script with streamer that captures one after the other
then I taught that I could capture from all four TV cards in paralell,
so my question is the bandwith enough on the PCI bus to start a capture
of four .jpeg files from four cards at the same time and then sleep for
one second after the capture?
The system is a Celeron 2.2 Ghz and lspci looks like this:
[snip]
Why I am asking this is becouse after I did change the script so did I
start getting kernel oopses like the ones below, so could the tree
oopses below be becouse of a badblocks on the swap or memory related or
becouse of to much data on the pci bus at the same time?
I did try to cahnge the memory but I still get ooopses.
OOPS 1:
Unable to handle kernel paging request at virtual address 74767679
c013029c
How is your /etc/modules? How is /proc/meminfo?
I ask because I use 2 Hercules SmartTV for 706x576x25fps YUV420P
grabbing (for MPEG), on a 128MB P4 2.4GHz. I discovered that by default
the bttv driver for Hercules (card=100) allocates not 2 but 5 gbuffers.
If you use RGBA, that makes 706x576x5(gbuffers)x4(bytes/pixel)x4(cards)
or 32MB reserved in the kernel for gbuffers. If you are marginal in
memory, it could cause problems in kernel paging.
Try something like bttv card=100,100,100,100 gbuffers=2 in /etc/modules.
For JPG grabbing, if 40msec jitter is acceptable, it might even be
possible to use only 1 gbuffer.
--
Michel Bardiaux
Peaktime Belgium S.A. Bd. du Souverain, 191 B-1160 Bruxelles
Tel : +32 2 790.29.41