[ Sorry for accidentally dropping CCs ]
2007/4/18, Christoph Pfister <christophpfister@xxxxxxxxx>:
> 2007/4/18, Ingo Molnar <mingo@xxxxxxx>:
> >
> > * Christoph Pfister <christophpfister@xxxxxxxxx> wrote:
> >
> > > Or I could try playing around a bit with your patchset and trying to
> > > reproduce it over here. Because I already have debug builds for
> > > xine-lib and compiling a new kernel can take place in the background
> > > it wouldn't be much effort for me.
> >
> > that would be great :) Here are the URLs for it. CFS is based on
> > v2.6.21-rc7:
> >
> > http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.21-rc7.tar.bz2
> >
> > And the CFS patch is at:
> >
> > http://people.redhat.com/mingo/cfs-scheduler/sched-cfs-v2.patch
> >
> > rebuild your kernel as usual and boot into it. No extra configuration is
> > needed, you'll get CFS by default.
> >
> > if this kernel builds/boots fine for you then you might also want to
> > send me a quick note about how it feels, interactivity-wise. And of
> > course i'm interested in any sort of feedback about problems as well.
> > I'd like to make CFS as media-playback friendly as possible, so if
> > there's any problem in that area it would be nice for me to know about
> > it as soon as possible.
> >
> > Ingo
>
> Okay - so here are some results (it's strange that gdb goes nuts
> inside the xine_play call). I have three bts (seems to be fairly easy
> to reproduce that behaviour over here): Twice while playing an audio
> cd and once while playing a normal file. The hang usually ends if you
> wait long enough (something around 30 secs over here).
> Christoph
>
>
> PS: Haven't analyzed them yet - but doing so now :-)
Ok - one nice thing: In all those bts demux_loop is at demux.c:285 -
meaing that demux_lock is held and xine_play is waiting for it ...
The lock should be temporilary unreleased with a sched_yield so that
the main thread can access it. As you wrote the implementation of this
function seems to have changed a bit - so I'll replace it with a short
sleep and try again ...
Christoph