[linux-dvb] [RFC-final] videobuf tree
Michael Krufky
mkrufky at linuxtv.org
Sun Oct 7 00:13:30 CEST 2007
On 10/3/07, Michael Krufky <mkrufky at gmail.com> wrote:
> On 10/3/07, Ricardo Cerqueira <v4l at cerqueira.org> wrote:
> > I've tested this with a blackbird board (HVR-1300), both with the MPEG
> > encoder and analog.
> >
> > - MPEG is working fine, even after merging in Mike Krufky's and my own
> > blackbird patches for audio. No drops I can see.
> > - Raw analog video is OK
> > - Analog audio through cx88-alsa (which uses videobuf) is also fine.
> > - Playing raw and MPEG simultaneosly works (as long as raw is started
> > first, something that's also happening with the old videobuf)
> >
> > Summarizing: there's no visible performance or functional difference
> > between the new and the old videobuf implementations on the hardware I
> > have available to test.
> >
> > Reviewed-by: Ricardo Cerqueira <v4l at cerqueira.org>
>
> Ah, this is great news!
>
> I look forward to testing the new tree using cx88-blackbird, cx88-dvb
> and cx23885 over the upcoming weekend. I'll report whether I have the
> same results as soon as I can.
I've tested the master branch under the following conditions:
1) cx88 raw analog video
2) cx88-blackbird encoded mpeg stream
3) cx88-dvb mpeg TS
I'm pleased to report that the above three tests worked out successfully.
However, cx23885 is now broken. Upon starting a DVB stream, the
following OOPS is generated:
[ 280.562598] Unable to handle kernel NULL pointer dereference at
0000000000000000 RIP:
[ 280.562609] [<ffffffff881a0931>]
:videobuf_core:videobuf_mmap_setup+0x21/0xf0
[ 280.562637] PGD 204fc067 PUD 20504067 PMD 0
[ 280.562642] Oops: 0000 [1] SMP
[ 280.562646] CPU 1
[ 280.562648] Modules linked in: binfmt_misc rfcomm l2cap bluetooth
ppdev i915 drm cpufreq_userspace cpufreq_stats cpufreq_ondemand
freq_table cpufreq_conse
rvative cpufreq_powersave tc1100_wmi sony_acpi dev_acpi pcc_acpi sbs
button ac asus_acpi backlight dock i2c_ec container battery video
nls_utf8 ntfs nls_iso8
859_1 nls_cp437 vfat fat ipv6 parport_pc lp parport fuse mt2131
s5h1409 cx88_blackbird cx2341x rtc_isl1208 ir_kbd_i2c snd_seq_dummy
snd_seq_oss dvb_pll lgdt3
30x snd_hda_intel snd_seq_midi tuner snd_hda_codec cx88_dvb
cx88_vp3054_i2c tea5767 tda8290 tuner_simple mt20xx cx23885 cx88_alsa
snd_pcm_oss snd_mixer_oss v
ideobuf_dvb snd_pcm dvb_core snd_rawmidi snd_seq_midi_event snd_seq
snd_timer snd_seq_device snd cx8800 cx8802 cx88xx soundcore pcspkr
psmouse serio_raw ir_c
ommon compat_ioctl32 i2c_algo_bit tveeprom i2c_core iTCO_wdt
iTCO_vendor_support videodev v4l2_common v4l1_compat videobuf_dma_sg
videobuf_core btcx_risc shp
chp pci_hotplug snd_page_alloc intel_agp af_packet tsdev evdev ext3
jbd mbcache sg sd_mod sr_mod cdrom usbhid hid ehci_hcd ahci libata
scsi_mod uhci_hcd e100
0 usbcore thermal processor fan fbcon tileblit font bitblit softcursor
vesafb cfbcopyarea cfbimgblt cfbfillrect capability commoncap
[ 280.562748] Pid: 8369, comm: cx23885[0] dvb Not tainted 2.6.20-16-generic #2
[ 280.562752] RIP: 0010:[<ffffffff881a0931>] [<ffffffff881a0931>]
:videobuf_core:videobuf_mmap_setup+0x21/0xf0
[ 280.562764] RSP: 0018:ffff81001bc21e40 EFLAGS: 00010282
[ 280.562767] RAX: 0000000000000000 RBX: ffff810033bc6020 RCX: 0000000000000002
[ 280.562770] RDX: 0000000000006000 RSI: 0000000000000020 RDI: ffff810033bc6020
[ 280.562774] RBP: ffff810033bc6010 R08: ffff81001bc20000 R09: 0000000000000000
[ 280.562778] R10: 0000001000000003 R11: ffffffff80231700 R12: ffff81001b37db98
[ 280.562780] R13: 0000000000006000 R14: 0000000000000020 R15: 0000000000000002
[ 280.562784] FS: 0000000000000000(0000) GS:ffff8100011e0ec0(0000)
knlGS:0000000000000000
[ 280.562788] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
[ 280.562790] CR2: 0000000000000000 CR3: 000000002057e000 CR4: 00000000000006e0
[ 280.562794] Process cx23885[0] dvb (pid: 8369, threadinfo
ffff81001bc20000, task ffff81001f152100)
[ 280.562797] Stack: 000000000000006f ffffffff80265bbb
ffff81001bc21f00 ffff810033bc6020
[ 280.562805] ffff810033bc6010 ffff81001b37db98 ffff810033bc6178
ffff810033bc6020
[ 280.562812] ffff810033bc6220 ffffffff881a0a7b 000000011bc21ed0
ffffffff8028b434
[ 280.562818] Call Trace:
[ 280.562831] [<ffffffff80265bbb>] thread_return+0x0/0xf5
[ 280.562878] [<ffffffff881a0a7b>]
:videobuf_core:videobuf_read_start+0x7b/0x150
[ 280.562889] [<ffffffff8028b434>] __wake_up_common+0x44/0x80
[ 280.562923] [<ffffffff882943f6>]
:videobuf_dvb:videobuf_dvb_thread+0x46/0x170
[ 280.562951] [<ffffffff882943b0>] :videobuf_dvb:videobuf_dvb_thread+0x0/0x170
[ 280.562957] [<ffffffff802a3170>] keventd_create_kthread+0x0/0x90
[ 280.562968] [<ffffffff80233fa9>] kthread+0xd9/0x120
[ 280.563006] [<ffffffff80261ec8>] child_rip+0xa/0x12
[ 280.563020] [<ffffffff802a3170>] keventd_create_kthread+0x0/0x90
[ 280.563082] [<ffffffff80233ed0>] kthread+0x0/0x120
[ 280.563091] [<ffffffff80261ebe>] child_rip+0x0/0x12
[ 280.563112]
[ 280.563114]
[ 280.563114] Code: 8b 30 81 fe 03 10 26 12 74 17 ba 03 10 26 12 48
c7 c7 a0 1c
[ 280.563129] RIP [<ffffffff881a0931>]
:videobuf_core:videobuf_mmap_setup+0x21/0xf0
[ 280.563139] RSP <ffff81001bc21e40>
[ 280.563141] CR2: 0000000000000000
[ 280.563144] <0>Bad page state in process 'less'
[ 291.308190] page:ffff81003ee844d0 flags:0x0100000000000000
mapping:0000000000000000 mapcount:0 count:-1
[ 291.308192] Trying to fix it up, but a reboot is needed
[ 291.308194] Backtrace:
[ 291.308201]
[ 291.308202] Call Trace:
[ 291.308242] [<ffffffff802c1b48>] bad_page+0x58/0x90
[ 291.308264] [<ffffffff8020a1c0>] get_page_from_freelist+0x340/0x570
[ 291.308362] [<ffffffff8020f263>] __alloc_pages+0x63/0x310
[ 291.308430] [<ffffffff802089f3>] __handle_mm_fault+0x503/0xab0
[ 291.308470] [<ffffffff8022e608>] wake_up_bit+0x18/0x40
[ 291.308490] [<ffffffff80209025>] __d_lookup+0x85/0x120
[ 291.308530] [<ffffffff8026a057>] do_page_fault+0x477/0x890
[ 291.308540] [<ffffffff8020c934>] do_lookup+0x74/0x210
[ 291.308569] [<ffffffff8020cebf>] dput+0x2f/0x170
[ 291.308589] [<ffffffff80209d2b>] __link_path_walk+0xc6b/0xdc0
[ 291.308609] [<ffffffff80212841>] __do_page_cache_readahead+0xc1/0x290
[ 291.308686] [<ffffffff8026806d>] error_exit+0x0/0x84
[ 291.308769] [<ffffffff8020cbf3>] file_read_actor+0x43/0x140
[ 291.308832] [<ffffffff8020bc90>] do_generic_mapping_read+0x1c0/0x520
[ 291.308842] [<ffffffff8020cbb0>] file_read_actor+0x0/0x140
[ 291.308979] [<ffffffff80216b2c>] generic_file_aio_read+0x16c/0x1b0
[ 291.309047] [<ffffffff8020c86f>] do_sync_read+0xcf/0x120
[ 291.309106] [<ffffffff80216cd9>] vma_merge+0x169/0x240
[ 291.309117] [<ffffffff802a3350>] autoremove_wake_function+0x0/0x30
[ 291.309156] [<ffffffff8020dd02>] do_mmap_pgoff+0x692/0x820
[ 291.309234] [<ffffffff8020afbb>] vfs_read+0xdb/0x1a0
[ 291.309263] [<ffffffff802113f3>] sys_read+0x53/0x90
[ 291.309303] [<ffffffff8026111e>] system_call+0x7e/0x83
[ 291.309379]
Regards,
-Mike
More information about the linux-dvb
mailing list