public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Oliver Endriss <o.endriss@gmx.de>
To: Trent Piepho <xyzzy@speakeasy.org>
Cc: linux-media@vger.kernel.org, e9hack <e9hack@googlemail.com>,
	obi@linuxtv.org, Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-dvb@linuxtv.org
Subject: Re: [BUG] changeset 9029 (http://linuxtv.org/hg/v4l-dvb/rev/aa3e5cc1d833)
Date: Tue, 17 Feb 2009 01:40:52 +0100	[thread overview]
Message-ID: <200902170140.53617@orion.escape-edv.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0902160811340.24268@shell2.speakeasy.net>

Trent Piepho 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.

Agreed, this would be the best solution.

On the other hand, a workqueue handler would be scheduled later, so you
need larger buffers in the driver. Some chipsets have very small
buffers...

Anway, this would be a major change. All drivers must be carefully
modified and tested for an extended period.

Meanwhile I had a look at the changeset, and I do not understand why
spin_lock_irq... should be required everywhere.

Afaics a driver may safely call dvb_dmx_swfilter_packets,
dvb_dmx_swfilter_204 or dvb_dmx_swfilter from process context, tasklet
or interrupt handler 'as is'.

@Andreas:
Could you please explain in more detail what bad things might happen?

CU
Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------

  parent reply	other threads:[~2009-02-17  0:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-02  1:46 [BUG] changeset 9029 (http://linuxtv.org/hg/v4l-dvb/rev/aa3e5cc1d833) e9hack
2009-02-02  3:38 ` Andy Walls
2009-02-15 12:36 ` Oliver Endriss
2009-02-15 14:07   ` [linux-dvb] " Andy Walls
2009-02-15 20:25   ` Andy Walls
2009-02-16 16:19   ` Trent Piepho
2009-02-16 16:33     ` [linux-dvb] " VDR User
2009-02-16 18:31     ` Mauro Carvalho Chehab
2009-02-16 19:13       ` [linux-dvb] " Steven Toth
2009-02-16 19:15         ` Steven Toth
2009-02-16 23:11           ` Andy Walls
2009-02-17  0:22         ` Trent Piepho
2009-02-17 15:16           ` Steven Toth
2009-02-17 16:47             ` Andreas Oberritter
2009-02-18  2:32             ` Trent Piepho
2009-02-18 15:07               ` Steven Toth
2009-02-18 20:45                 ` Trent Piepho
2009-02-17  0:40     ` Oliver Endriss [this message]
2009-02-17  4:02       ` Andreas Oberritter
2009-02-18  2:04         ` [linux-dvb] " Oliver Endriss
2009-02-18  3:22           ` Trent Piepho
2009-02-18 16:47             ` Oliver Endriss
2009-02-18 12:51           ` Andreas Oberritter
2009-02-18  9:15         ` Trent Piepho

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=200902170140.53617@orion.escape-edv.de \
    --to=o.endriss@gmx.de \
    --cc=e9hack@googlemail.com \
    --cc=linux-dvb@linuxtv.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    --cc=obi@linuxtv.org \
    --cc=xyzzy@speakeasy.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox