28100165c3
On Mon, 02 Feb 2009, Hartmut 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). On Sun, 15 Feb 2009, Oliver Endriss wrote: 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! On Mon, 16 Feb 2009, Trent Piepho wrote: 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. Thank you for testing this changeset and discovering the issues on it. Cc: Trent Piepho <xyzzy@speakeasy.org> Cc: Hartmut <e9hack@googlemail.com> Cc: Oliver Endriss <o.endriss@gmx.de> Cc: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
demux.h | ||
dmxdev.c | ||
dmxdev.h | ||
dvb_ca_en50221.c | ||
dvb_ca_en50221.h | ||
dvb_demux.c | ||
dvb_demux.h | ||
dvb_filter.c | ||
dvb_filter.h | ||
dvb_frontend.c | ||
dvb_frontend.h | ||
dvb_math.c | ||
dvb_math.h | ||
dvb_net.c | ||
dvb_net.h | ||
dvb_ringbuffer.c | ||
dvb_ringbuffer.h | ||
dvbdev.c | ||
dvbdev.h | ||
Makefile |