В Вск, 28/06/2009 в 08:52 -0400, Andy Walls пишет: > On Sun, 2009-06-28 at 15:25 +0400, Abylai Ospan wrote: > > Mauro, > > > > Please pulll changes: > > > > http://udev.netup.ru/cgi-bin/hgwebdir.cgi/v4l-dvb-aospan/rev/8b0c92aec325 > > > > vmalloc to kmalloc changed. > > Since MAX_PID is only 8 kB and kmalloc can handle up to 128 kB, that > seems OK. ok. > > vmalloc don't work (kernel oops hapens) when dvb_dmx_swfilter_packets > > called from IRQ handler ( for example in budget-core ). > > No one should call dvb_dmx_swfilter_packets() from an IRQ handler. That > function does too much work to finish in a short amount of time. I see > budget-core.c:vpeirq(), actually gets called from a tasklet (softirq > context) though. > > Here's a LKML thread where Andrew Morton says it's unsafe to call > __vmalloc() from IRQ contexts: > > http://lkml.org/lkml/2008/11/17/23 > > Since tasklets run in an interrupt context, with many (all?) of the > limitations of a IRQ handler, I suspect Andrew's comments may apply to > tasklets as well. > > > What really needs to be fixed is > > linux/drivers/media/dvb/ttpci/budget-core.c:vpeirq() > > should not call > > dvb_dmx_swfilter_packets() > > from a tasklet context, but instead from a work handler handler context. > That means converting from a tasklet to a work handler. > > A change to the dvb-core to use kmalloc() is just avoiding the work of > coverting from tasklets to workqueues. It looks like the move to > replace tasklets with workqueues is at least 2 years old: > > http://lwn.net/Articles/239633/ > > BTW, it looks like av7110.c has a similar problem using a tasklet to > call dvb_dmx_swfilter_packets(). seems like videbuf usage is more prefer. In this case dvb_dmx_swfilter called in separate thread "videobuf_dvb_thread". -- Abylai Ospan <aospan@xxxxxxxx> NetUP Inc.
Attachment:
signature.asc
Description: =?koi8-r?Q?=FC=D4=C1?= =?koi8-r?Q?_=DE=C1=D3=D4=D8?= =?koi8-r?Q?_=D3=CF=CF=C2=DD=C5=CE=C9=D1?= =?koi8-r?Q?_=D0=CF=C4=D0=C9=D3=C1=CE=C1?= =?koi8-r?Q?_=C3=C9=C6=D2=CF=D7=CF=CA?= =?koi8-r?Q?_=D0=CF=C4=D0=C9=D3=D8=C0?=
Attachment:
smime.p7s
Description: S/MIME cryptographic signature