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:
lspci
00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host
Bridge (rev 03)
00:02.0 VGA compatible controller: Intel Corp. 82845G/GL [Brookdale-G]
Chipset Integrated Graphics Device (rev 03)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 02)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 02)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 02)
00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corp. 82801DB ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801DB ICH4 IDE (rev 02)
00:1f.3 SMBus: Intel Corp. 82801DB SMBus (rev 02)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio
(rev 02)
01:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
01:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
01:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
01:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
01:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
01:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
01:05.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
01:05.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (LOM)
Ethernet Controller (rev 82)
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
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c013029c>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010046
eax: 74767675 ebx: c2f88000 ecx: 00000002 edx: c5311000
esi: cfe3ff84 edi: cf96d208 ebp: 00000000 esp: c13afefc
ds: 0018 es: 0018 ss: 0018
Process kswapd (pid: 4, stackpage=c13af000)
Stack: 00000292 c13aff48 c012fb6e cfe3ff84 c2f883c0 c2f883c0 c014b811
cfe3ff84
c2f883c0 c2f883c0 c014bfb4 c2f883c0 00000292 c798a2a0 cd635900
cd635908
c014c21b c13aff48 000008fd c486f208 c5e7d3c8 00000008 000001d0
00000020
Call Trace: [<c012fb6e>] [<c014b811>] [<c014bfb4>] [<c014c21b>]
[<c014c2c4>]
[<c0130a13>] [<c0130a66>] [<c0130b7c>] [<c0130bf8>] [<c0130d2d>]
[<c0105000>]
[<c01057be>] [<c0130c90>]
Code: 89 50 04 8b 46 08 8d 56 08 89 58 04 89 03 89 53 04 89 5e 08
>>EIP; c013029c <kmem_cache_free_one+6c/a5> <=====
>>ebx; c2f88000 <_end+2bbd37c/1064c3dc>
>>edx; c5311000 <_end+4f4637c/1064c3dc>
>>esi; cfe3ff84 <_end+fa75300/1064c3dc>
>>edi; cf96d208 <_end+f5a2584/1064c3dc>
>>esp; c13afefc <_end+fe5278/1064c3dc>
Trace; c012fb6e <kmem_cache_free+1e/30>
Trace; c014b811 <destroy_inode+51/60>
Trace; c014bfb4 <dispose_list+44/80>
Trace; c014c21b <prune_icache+6b/f0>
Trace; c014c2c4 <shrink_icache_memory+24/40>
Trace; c0130a13 <shrink_caches+83/a0>
Trace; c0130a66 <try_to_free_pages_zone+36/50>
Trace; c0130b7c <kswapd_balance_pgdat+5c/b0>
Trace; c0130bf8 <kswapd_balance+28/40>
Trace; c0130d2d <kswapd+9d/c0>
Trace; c0105000 <_stext+0/0>
Trace; c01057be <arch_kernel_thread+2e/40>
Trace; c0130c90 <kswapd+0/c0>
Code; c013029c <kmem_cache_free_one+6c/a5>
00000000 <_EIP>:
Code; c013029c <kmem_cache_free_one+6c/a5> <=====
0: 89 50 04 mov %edx,0x4(%eax) <=====
Code; c013029f <kmem_cache_free_one+6f/a5>
3: 8b 46 08 mov 0x8(%esi),%eax
Code; c01302a2 <kmem_cache_free_one+72/a5>
6: 8d 56 08 lea 0x8(%esi),%edx
Code; c01302a5 <kmem_cache_free_one+75/a5>
9: 89 58 04 mov %ebx,0x4(%eax)
Code; c01302a8 <kmem_cache_free_one+78/a5>
c: 89 03 mov %eax,(%ebx)
Code; c01302aa <kmem_cache_free_one+7a/a5>
e: 89 53 04 mov %edx,0x4(%ebx)
Code; c01302ad <kmem_cache_free_one+7d/a5>
11: 89 5e 08 mov %ebx,0x8(%esi)
1 warning issued. Results may not be reliable.
OOPS 2:
Unable to handle kernel paging request at virtual address b2b2b4b8
c01301b4
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01301b4>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010056
eax: cfe3ff8c ebx: c161e900 ecx: c161e000 edx: b2b2b4b4
esi: cfe3ff84 edi: 00000246 ebp: 000001c0 esp: c6d7dd7c
ds: 0018 es: 0018 ss: 0018
Process autorun (pid: 1542, stackpage=c6d7d000)
Stack: 37363534 62613938 c6d7c000 c6d7c000 cfe3a400 cf87f1c0 c014b795
cfe3ff84
000001f0 00000000 c6d7c000 c6d7c000 00000002 c014c35f cfe3a400
c0156b53
cfe3a400 c6d7c000 00000606 c02ef50c c0157198 cfe3a400 c6d7c000
00000002
Call Trace: [<c014b795>] [<c014c35f>] [<c0156b53>] [<c0157198>]
[<c0141657>]
[<c0141d6a>] [<c0144843>] [<c02dabdf>] [<c0157089>] [<c014ca2b>]
[<c01419e3>]
[<c0155ba5>] [<c0144843>] [<c0141c7e>] [<c0142049>] [<c0142460>]
[<c0136143>]
[<c0136503>] [<c010744f>]
Code: 89 42 04 8b 06 89 48 04 89 01 89 71 04 89 0e eb ca 8b 4e 10
>>EIP; c01301b4 <__kmem_cache_alloc+84/100> <=====
>>eax; cfe3ff8c <_end+fa75308/105133dc>
>>ebx; c161e900 <_end+1253c7c/105133dc>
>>ecx; c161e000 <_end+125337c/105133dc>
>>esi; cfe3ff84 <_end+fa75300/105133dc>
>>esp; c6d7dd7c <_end+69b30f8/105133dc>
Trace; c014b795 <alloc_inode+115/140>
Trace; c014c35f <new_inode+f/50>
Trace; c0156b53 <proc_pid_make_inode+23/c0>
Trace; c0157198 <proc_pid_lookup+f8/1f0>
Trace; c0141657 <real_lookup+c7/f0>
Trace; c0141d6a <link_path_walk+5ba/6e0>
Trace; c0144843 <__vfs_follow_link+33/15e>
Trace; c02dabdf <sprintf+1f/30>
Trace; c0157089 <proc_self_follow_link+39/50>
Trace; c014ca2b <update_atime+6b/70>
Trace; c01419e3 <link_path_walk+233/6e0>
Trace; c0155ba5 <proc_root_lookup+25/70>
Trace; c0144843 <__vfs_follow_link+33/15e>
Trace; c0141c7e <link_path_walk+4ce/6e0>
Trace; c0142049 <path_lookup+39/40>
Trace; c0142460 <open_namei+70/560>
Trace; c0136143 <filp_open+43/70>
Trace; c0136503 <sys_open+53/a0>
Trace; c010744f <system_call+33/38>
Code; c01301b4 <__kmem_cache_alloc+84/100>
00000000 <_EIP>:
Code; c01301b4 <__kmem_cache_alloc+84/100> <=====
0: 89 42 04 mov %eax,0x4(%edx) <=====
Code; c01301b7 <__kmem_cache_alloc+87/100>
3: 8b 06 mov (%esi),%eax
Code; c01301b9 <__kmem_cache_alloc+89/100>
5: 89 48 04 mov %ecx,0x4(%eax)
Code; c01301bc <__kmem_cache_alloc+8c/100>
8: 89 01 mov %eax,(%ecx)
Code; c01301be <__kmem_cache_alloc+8e/100>
a: 89 71 04 mov %esi,0x4(%ecx)
Code; c01301c1 <__kmem_cache_alloc+91/100>
d: 89 0e mov %ecx,(%esi)
Code; c01301c3 <__kmem_cache_alloc+93/100>
f: eb ca jmp ffffffdb <_EIP+0xffffffdb>
Code; c01301c5 <__kmem_cache_alloc+95/100>
11: 8b 4e 10 mov 0x10(%esi),%ecx
OOPS 3:
<1>Unable to handle kernel paging request at virtual address b2b2b4b8
c01302a5
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01302a5>] Not tainted
EFLAGS: 00010046
eax: b2b2b4b4 ebx: c96e4000 ecx: 00000003 edx: cfe3ff8c
esi: cfe3ff84 edi: c96e4580 ebp: cf87f740 esp: c5c1bf10
ds: 0018 es: 0018 ss: 0018
Process streamer (pid: 11744, stackpage=c5c1b000)
Stack: 00000292 c96e4580 c012fb6e cfe3ff84 c96e4580 c96e4580 c014b811
cfe3ff84
c96e4580 cf87f740 c014a3ff c96e4580 c96e4580 c5b13cc0 cfe3c260
c0137f75
cf87f740 c5b13cc0 c5b13cc0 c8141c40 00000000 00000001 c01365cd
c5b13cc0
Call Trace: [<c012fb6e>] [<c014b811>] [<c014a3ff>] [<c0137f75>]
[<c01365cd>]
[<c011a54c>] [<c011ac3e>] [<c011ae03>] [<c010744f>]
Code: 89 58 04 89 03 89 53 04 89 5e 08 eb d2 8b 03 8b 53 04 89 02
>>EIP; c01302a5 <kmem_cache_free_one+75/a5> <=====
>>ebx; c96e4000 <_end+931937c/105133dc>
>>edx; cfe3ff8c <_end+fa75308/105133dc>
>>esi; cfe3ff84 <_end+fa75300/105133dc>
>>edi; c96e4580 <_end+93198fc/105133dc>
>>ebp; cf87f740 <_end+f4b4abc/105133dc>
>>esp; c5c1bf10 <_end+585128c/105133dc>
Trace; c012fb6e <kmem_cache_free+1e/30>
Trace; c014b811 <destroy_inode+51/60>
Trace; c014a3ff <dput+af/160>
Trace; c0137f75 <fput+d5/130>
Trace; c01365cd <filp_close+4d/80>
Trace; c011a54c <put_files_struct+6c/e0>
Trace; c011ac3e <do_exit+ae/240>
Trace; c011ae03 <sys_exit+13/20>
Trace; c010744f <system_call+33/38>
Code; c01302a5 <kmem_cache_free_one+75/a5>
00000000 <_EIP>:
Code; c01302a5 <kmem_cache_free_one+75/a5> <=====
0: 89 58 04 mov %ebx,0x4(%eax) <=====
Code; c01302a8 <kmem_cache_free_one+78/a5>
3: 89 03 mov %eax,(%ebx)
Code; c01302aa <kmem_cache_free_one+7a/a5>
5: 89 53 04 mov %edx,0x4(%ebx)
Code; c01302ad <kmem_cache_free_one+7d/a5>
8: 89 5e 08 mov %ebx,0x8(%esi)
Code; c01302b0 <kmem_cache_free_one+80/a5>
b: eb d2 jmp ffffffdf <_EIP+0xffffffdf>
Code; c01302b2 <kmem_cache_free_one+82/a5>
d: 8b 03 mov (%ebx),%eax
Code; c01302b4 <kmem_cache_free_one+84/a5>
f: 8b 53 04 mov 0x4(%ebx),%edx
Code; c01302b7 <kmem_cache_free_one+87/a5>
12: 89 02 mov %eax,(%edx)
Cheers Johnny