On Mon, 16 Feb 2009 08:19:06 -0800 (PST)
Trent Piepho <xy...@speakeasy.org> wrote:

> On Sun, 15 Feb 2009, Oliver Endriss wrote:
> > e9hack wrote:
> > > this change set is wrong. The affected functions cannot be called from an 
> > > interrupt
> > > context, because they may process large buffers. In this case, interrupts 
> > > are disabled for
> > > a long time. Functions, like dvb_dmx_swfilter_packets(), could be called 
> > > only from a
> > > tasklet. This change set does hide some strong design bugs in dm1105.c 
> > > and au0828-dvb.c.
> > >
> > > Please revert this change set and do fix the bugs in dm1105.c and 
> > > au0828-dvb.c (and other
> > > files).
> >
> > @Mauro:
> >
> > This changeset _must_ be reverted! It breaks all kernels since 2.6.27
> > for applications which use DVB and require a low interrupt latency.
> >
> > It is a very bad idea to call the demuxer to process data buffers with
> > interrupts disabled!
> 
> I agree, this is bad.  The demuxer is far too much work to be done with
> IRQs off.  IMHO, even doing it under a spin-lock is excessive.  It should
> be a mutex.  Drivers should use a work-queue to feed the demuxer.

Hartmut, Oliver and Trent: Thanks for helping with this issue. I've just
reverted the changeset. We still need a fix at dm1105, au0828-dvb and maybe
other drivers that call the filtering routines inside IRQ's.


Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to