All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Con Kolivas <kernel@kolivas.org>
Cc: Rene Herman <rene.herman@keyaccess.nl>,
	Lee Revell <rlrevell@joe-job.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@osdl.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: 2.6.17-rc2+ regression -- audio skipping
Date: Mon, 22 May 2006 04:14:03 +0200	[thread overview]
Message-ID: <1148264043.7643.15.camel@homer> (raw)
In-Reply-To: <200605221033.49153.kernel@kolivas.org>

On Mon, 2006-05-22 at 10:33 +1000, Con Kolivas wrote:
> On Monday 22 May 2006 10:10, Rene Herman wrote:
> > Lee Revell wrote:
> > > On Sun, 2006-05-21 at 22:24 +0200, Rene Herman wrote:
> > >> 2.6.17-rc2 (and 3 and 4) make my audio skip. Audio player is ogg123
> > >> running in an xterm. Browsing heavy sites (say, eBay) with Firefox
> > >> 1.5.0.3 gets me audio underruns quickly. This does not happen on
> > >> 2.6.17-rc1 and earlier (I just tested extensively; quite impossible to
> > >> generate underruns on -rc1, quickly on -rc2 and later).
> > >>
> > >> It's not ALSA; reverted */sound/* from the rc1-rc2 interdiff. It's also
> > >> not cfq-iosched.c. Any likely culprits in there? (I'm not a GIT user).
> > >
> > > I would suspect the scheduler interactivity patches.  Please confirm
> > > this by running ogg123 at nice -20 - do the underruns persist?
> >
> > They do persist. Thanks for the hint though -- "sched: fix interactive
> > task starvation" is the culprit:
> >
> > http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=comm
> >it;h=5ce74abe788a26698876e66b9c9ce7e7acc25413
> 
> Good investigative work! Makes sense that falling on the expired array would 
> make for terrible latency for audio apps if your cpu was stretched just the 
> right amount.

Yup.  Note that you can hit the array switch without this patch as well,
but with it, you'll hit it for sure if you're at 100% cpu.

> > Added author and acked-by's to the CC. Mike, this patch is no good for
> > me. Audio underruns galore, with only ogg123 and firefox (browsing the
> > GIT tree online is also a nice trigger by the way).
> >
> > If I back it out, everything is fine for me again. Back-out attached as
> > a patch against -rc4. This also backs out your follow-up "don't awaken
> > RT tasks on expired array" as it was dependant:
> >
> > http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=comm
> >it;h=8a5bc075b8d8cf7a87b3f08fad2fba0f5d13295e
> >
> > While looking at the patch I noticed there was +1 difference in the
> > "limit" value between the macro and the static inline version of
> > expired_starving() so I experimented with adding that back but that
> > wasn't it unfortunately.
> >
> > I can test patches (preferably versus -rc4) although possibly not quickly.
> 
> This close to 2.6.17 the safest thing we can and should do is simply back out 
> the patch.

Agreed.  That will reinstate terminal starvation in some cases, but
those cases are much less common than this one.

In my tree, I don't use the expired array for anything except batch
tasks any more for this very reason. The latency just hurts too bad.

	-Mike


  reply	other threads:[~2006-05-22  2:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-21 20:24 2.6.17-rc2+ regression -- audio skipping Rene Herman
2006-05-21 21:30 ` Lee Revell
2006-05-22  0:10   ` Rene Herman
2006-05-22  0:17     ` Rene Herman
2006-05-22  0:33     ` Con Kolivas
2006-05-22  2:14       ` Mike Galbraith [this message]
2006-05-22  2:43         ` Con Kolivas
2006-05-22  3:10           ` Mike Galbraith
2006-05-22  3:30             ` Peter Williams
2006-05-22  4:53               ` Mike Galbraith
2006-05-22  5:38                 ` Peter Williams
2006-05-22  6:00                   ` Mike Galbraith
2006-05-22  6:34                     ` Peter Williams
2006-05-23  5:22                       ` Peter Williams
2006-05-22  3:26           ` Peter Williams
2006-05-22 18:22         ` Rene Herman

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=1148264043.7643.15.camel@homer \
    --to=efault@gmx.de \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rene.herman@keyaccess.nl \
    --cc=rlrevell@joe-job.com \
    --cc=torvalds@osdl.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.