All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Burgess <jburgess777@googlemail.com>
To: Gregoire Favre <Gregoire.Favre@gmail.com>
Cc: linux-dvb@linuxtv.org, v4l-dvb-maintainer@linuxtv.org,
	Markus Rechberger <mrechberger@gmail.com>,
	linux-kernel@vger.kernel.org, Lee Revell <rlrevell@joe-job.com>
Subject: Re: [PATCH] Re: More than 2Gb problem (dvb related) ?
Date: Mon, 30 Apr 2007 19:05:16 +0100	[thread overview]
Message-ID: <1177956316.4752.13.camel@localhost.localdomain> (raw)
In-Reply-To: <20070430165232.GA6754@gmail.com>

On Mon, 2007-04-30 at 18:52 +0200, Gregoire Favre wrote:
> On Sat, Apr 28, 2007 at 09:14:37PM +0100, Jon Burgess wrote:
> 
> > While the above patch works, it seems the underlying causes is that
> > vmalloc_32() is providing memory above 4Gb on x86-64 which is not what
> > the driver expects. This same issue came up a few weeks ago with regards
> > to DRM on radeon http://lkml.org/lkml/2007/4/1/257
> > 
> > Andi Kleen included a patch to ensure vmalloc_32() returns memory <4Gb
> > in a patch which is currently in -mm
> >  http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc7/2.6.21-rc7-mm2/broken-out/x86_64-mm-vmalloc-32.patch
> > 
> > With this patch applied the current driver appears to work OK. 
> > 
> > Attached is a smaller patch against v4l-dvb which just adds the missing
> > pci_unmap_sg() call.
> 
> I was using 2.6.20.1 with the x86_64-mm-vmalloc-32.patch and you small
> patch : working but not perftctly stable.
> 
> So I compiled 2.6.21-rc7-mm2 and at boot I got a problem :
> 
> ksymoops dmesg-2.6.21-rc7-mm2-4Gb.txt 
> ksymoops 2.4.11 on x86_64 2.6.21-rc7-mm2.  Options used
>      -V (default)
>      -k /proc/ksyms (default)
>      -l /proc/modules (default)
>      -o /lib/modules/2.6.21-rc7-mm2/ (default)
>      -m /usr/src/linux/System.map (default)
> 
> Warning: You did not tell me where to find symbol information.  I will
> assume that the log matches the kernel and modules that are running
> right now and I'll use the default options above for symbol resolution.
> If the current kernel and/or modules do not match the log, you can get
> more accurate output by telling me the kernel version and where to find
> map, modules, ksyms etc.  ksymoops -h explains the options.
> 
> Error (regular_file): read_ksyms stat /proc/ksyms failed
> ksymoops: No such file or directory
> No modules in ksyms, skipping objects
> No ksyms, skipping lsmod
> SGI XFS with large block/inode numbers, no debug enabled
> ehci_hcd 0000:00:1a.7: debug port 1
> ehci_hcd 0000:00:1d.7: debug port 1
> kernel BUG at mm/slab.c:2766!
> CPU 1 
> Pid: 6616, comm: cx88[0] dvb Tainted: P       2.6.21-rc7-mm2 #1
> RIP: 0010:[<ffffffff802608e5>]  [<ffffffff802608e5>] cache_alloc_refill+0x495/0x560
> Using defaults from ksymoops -t elf64-x86-64 -a i386:x86-64
> RSP: 0000:ffff8101045dfd50  EFLAGS: 00010002
> RAX: 0000000000000000 RBX: 000000000000003c RCX: 0000000000000000
> RDX: ffff81010006a400 RSI: 0000000000000004 RDI: ffff81010001c180
> RBP: ffff81010006a400 R08: 00000000ffffffff R09: 0000000000000004
> R10: 0000000000000020 R11: 0000000000000001 R12: ffff81010001e2c0
> R13: ffff81010001c140 R14: 0000000000000000 R15: ffff81010000b000
> FS:  0000000000000000(0000) GS:ffff810100027540(0000) knlGS:0000000000000000
> CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> CR2: 00002aaab0a9ea18 CR3: 0000000000201000 CR4: 00000000000006e0
> Stack:  0000000000021024 0000000000000000 ffff81010001c180 ffff810100054060
>  ffffc20000000004 0000000000000286 0000000000000030 ffff810102b83140
>  0000000000006000 0000000000000004 ffff81010241c0e0 ffffffff802c95b8
> Call Trace:
>  [<ffffffff802c95b8>] __kmalloc+0x68/0x70
>  [<ffffffff802c19e7>] __vmalloc_area_node+0x157/0x1a0
>  [<ffffffff880bc8a0>] :video_buf:videobuf_dma_init_kernel+0x50/0xd0
>  [<ffffffff880bcdbe>] :video_buf:videobuf_iolock+0xbe/0xf0
>  [<ffffffff880fc07e>] :cx8802:cx8802_buf_prepare+0xde/0x130
>  [<ffffffff880bc0c7>] :video_buf:videobuf_read_start+0xc7/0x170
>  [<ffffffff880c23b0>] :video_buf_dvb:videobuf_dvb_thread+0x0/0x190
>  [<ffffffff880c23e9>] :video_buf_dvb:videobuf_dvb_thread+0x39/0x190
>  [<ffffffff880c23b0>] :video_buf_dvb:videobuf_dvb_thread+0x0/0x190
>  [<ffffffff802342eb>] kthread+0x4b/0x80
>  [<ffffffff802622a8>] child_rip+0xa/0x12
>  [<ffffffff802342a0>] kthread+0x0/0x80
>  [<ffffffff8026229e>] child_rip+0x0/0x12
> Code: 0f 0b eb fe 0f 0b eb fe 41 8b 44 24 30 a8 01 0f 84 ed fd ff 
> 
> 
> >>RIP; ffffffff802608e5 <cache_alloc_refill+495/560>   <=====
> 
> >>RDX; ffff81010006a400 <phys_startup_64+ffff8100ffe6a400/ffffffff80000000>
> >>RDI; ffff81010001c180 <phys_startup_64+ffff8100ffe1c180/ffffffff80000000>
> >>RBP; ffff81010006a400 <phys_startup_64+ffff8100ffe6a400/ffffffff80000000>
> >>R08; 00000000ffffffff <phys_startup_64+ffdfffff/ffffffff80000000>
> >>R12; ffff81010001e2c0 <phys_startup_64+ffff8100ffe1e2c0/ffffffff80000000>
> >>R13; ffff81010001c140 <phys_startup_64+ffff8100ffe1c140/ffffffff80000000>
> >>R15; ffff81010000b000 <phys_startup_64+ffff8100ffe0b000/ffffffff80000000>
> 
> Trace; ffffffff802c95b8 <__kmalloc+68/70>
> Trace; ffffffff802c19e7 <__vmalloc_area_node+157/1a0>
> Trace; ffffffff880bc8a0 <_end+79f1b1c/7ef3527c>
> Trace; ffffffff880bcdbe <_end+79f203a/7ef3527c>
> Trace; ffffffff880fc07e <_end+7a312fa/7ef3527c>
> Trace; ffffffff880bc0c7 <_end+79f1343/7ef3527c>
> Trace; ffffffff880c23b0 <_end+79f762c/7ef3527c>
> Trace; ffffffff880c23e9 <_end+79f7665/7ef3527c>
> Trace; ffffffff880c23b0 <_end+79f762c/7ef3527c>
> Trace; ffffffff802342eb <kthread+4b/80>
> Trace; ffffffff802622a8 <child_rip+a/12>
> Trace; ffffffff802342a0 <kthread+0/80>
> Trace; ffffffff8026229e <child_rip+0/12>
> 
> Code;  ffffffff802608e5 <cache_alloc_refill+495/560>
> 0000000000000000 <_RIP>:
> Code;  ffffffff802608e5 <cache_alloc_refill+495/560>   <=====
>    0:   0f 0b                     ud2a      <=====
> Code;  ffffffff802608e7 <cache_alloc_refill+497/560>
>    2:   eb fe                     jmp    2 <_RIP+0x2>
> Code;  ffffffff802608e9 <cache_alloc_refill+499/560>
>    4:   0f 0b                     ud2a   
> Code;  ffffffff802608eb <cache_alloc_refill+49b/560>
>    6:   eb fe                     jmp    6 <_RIP+0x6>
> Code;  ffffffff802608ed <cache_alloc_refill+49d/560>
>    8:   41 8b 44 24 30            mov    0x30(%r12),%eax
> Code;  ffffffff802608f2 <cache_alloc_refill+4a2/560>
>    d:   a8 01                     test   $0x1,%al
> Code;  ffffffff802608f4 <cache_alloc_refill+4a4/560>
>    f:   0f 84 ed fd ff 00         je     fffe02 <_RIP+0xfffe02>
> 
> 
> 1 warning and 1 error issued.  Results may not be reliable.
> 
> I can't compil hg source with your patch for this kernel :
> 
> make -C /lib/modules/2.6.21-rc7-mm2/build SUBDIRS=/usr/src/CVS/v4l-dvb/v4l  modules
> make[1]: Entering directory `/usr/src/linux-2.6.21-rc7-mm2'
>   CC [M]  /usr/src/CVS/v4l-dvb/v4l/dvb_net.o
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c: In function 'dvb_net_eth_type_trans':
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c:186: error: 'struct sk_buff' has no member named 'mac'
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c: In function 'dvb_net_ule':
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c:625: warning: cast to pointer from integer of different size
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c:626: warning: cast to pointer from integer of different size
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c:627: warning: cast to pointer from integer of different size
> /usr/src/CVS/v4l-dvb/v4l/dvb_net.c:628: warning: cast to pointer from integer of different size
> make[2]: *** [/usr/src/CVS/v4l-dvb/v4l/dvb_net.o] Error 1
> make[1]: *** [_module_/usr/src/CVS/v4l-dvb/v4l] Error 2
> make[1]: Leaving directory `/usr/src/linux-2.6.21-rc7-mm2'
> make: *** [default] Error 2
> 
> What kernel (with which patches) are you using ?
> 
> Thank,

I'm currently using 2.6.21 + x86_64-mm-vmalloc-32.patch with the v4l-dvb
drivers. I need to use the v4l-dvb tree in order to get the IR remote
working reliably. This combination compiles and works OK for me.

My hardware is different to yours. My Nova-T card has a saa7146 chip but
your card appears to be one of the newer cx88 based ones.

I'd suggest that you stick with 2.6.21 or 2.6.21.1 instead of the -mm
kernels since these are generally less stable then the main tree.

	Jon



  reply	other threads:[~2007-04-30 18:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-27 11:10 More than 2Gb problem (dvb related) ? Gregoire Favre
2007-04-27 20:46 ` Markus Rechberger
2007-04-27 21:03   ` Gregoire Favre
2007-04-27 22:00   ` [linux-dvb] " Jon Burgess
2007-04-27 22:06     ` Lee Revell
2007-04-27 22:37       ` Jon Burgess
2007-04-28 17:17       ` [PATCH] " Jon Burgess
2007-04-28 20:14         ` Jon Burgess
2007-04-29 14:07           ` Gregoire Favre
2007-04-30  0:22           ` [linux-dvb] " Oliver Endriss
2007-04-30 16:52           ` Gregoire Favre
2007-04-30 18:05             ` Jon Burgess [this message]
2007-05-01  9:39               ` Gregoire Favre
2007-05-01  9:41               ` Gregoire Favre
2007-05-01 22:11                 ` Jon Burgess
2007-05-02  9:35                   ` Andi Kleen
2007-05-02 12:17                     ` Gregoire Favre
2007-05-05  7:36                     ` Gregoire Favre
2007-05-01 15:58         ` [linux-dvb] " Oliver Endriss
2007-05-01 20:03           ` Gregoire Favre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1177956316.4752.13.camel@localhost.localdomain \
    --to=jburgess777@googlemail.com \
    --cc=Gregoire.Favre@gmail.com \
    --cc=linux-dvb@linuxtv.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mrechberger@gmail.com \
    --cc=rlrevell@joe-job.com \
    --cc=v4l-dvb-maintainer@linuxtv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.