public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: Christian Meder <chris@onestepahead.de>, Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, gnomemeeting-devel-list@gnome.org
Subject: Re: 2.6 vs 2.4 regression when running gnomemeeting
Date: Mon, 22 Dec 2003 12:47:57 +1100	[thread overview]
Message-ID: <200312221247.57447.kernel@kolivas.org> (raw)
In-Reply-To: <1072055962.999.69.camel@localhost>

On Mon, 22 Dec 2003 12:19, Christian Meder wrote:
> On Sun, 2003-12-21 at 09:57, Ingo Molnar wrote:
> > * Christian Meder <chris@onestepahead.de> wrote:
> > > I tried to verify your suggestion and found that the P_RTEMS symbol is
> > > not defined on Linux. It seems to be some other kind of realtime
> > > operating system. So the code in question already uses usleep. Now I'm
> > > still digging for other occurances of sched_yield in the pwlib
> > > sources.
> >
> > could you try to strace -f gnomemeeting? Maybe there's no sched_yield()
> > at all. Could you also try to run the non-yielding loop code via:
> >
> > 	nice -19 ./loop &
> >
> > do a couple of such loops still degrade gnomemeeting?
>
> I found the culprit. It's sched_yield again. When I straced gnomemeeting
> even without load I saw a lot of sched_yields. So I googled around for
> 2.6 and sched_yield and found among others
> http://www.hpl.hp.com/research/linux/kernel/o1-openmp.php by David
> Mosberger. I tried gnomemeeting with the romp hack at the end of the
> article which changes all sched_yields to noops via library preloading.
> The difference was _really_ impressive. No matter how many non-yield
> loops and kernel compiles I ran gnomemeeting didn't even skip once.

It's a valuable lesson to us that the sched_yield() issue is one we should be 
suspicious of. I'm very happy that it performs well for you once the coding 
is corrected.

[SNIP]

> Defining Yield to noop and building a new libpt solved the problem
> permanently for me.
>
> It seems that not all people have got problems with gnomemeeting and
> 2.6. Damien Sandras (the gnomemeeting maintainer) for example reported
> that he hasn't got any problems with gnomemeeting on 2.6 while compiling
> in parallel. So I guess it's depending on the frequency of sched_yields
> one gets in gnomemeeting. Which is probably depending on the processor
> speed, etc.

It probably hits that code path less frequently in slower cpus ironically.

> That just leaves the question what is the proper fix, to send it
> upstream and to note the phenomenon down in a faq.

The sched_yield issue is noted in faqs, but it should be highlighted in the 
interactivity section.

> Thanks to all who helped me with debugging advice and if anybody needs
> further information just ask.

No, thank you for tracking this down fully. No amount of reassuring that it's 
not 2.6's fault will suffice for us unless we can find the real cause and 
solutions for these issues.

Regards,
Con


  reply	other threads:[~2003-12-22  1:48 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-19 20:11 2.6 vs 2.4 regression when running gnomemeeting Christian Meder
2003-12-19 20:32 ` William Lee Irwin III
2003-12-19 23:30   ` Christian Meder
2003-12-20  0:21     ` Nick Piggin
2003-12-20  0:37       ` Christian Meder
2003-12-20  0:48         ` Nick Piggin
2003-12-20  1:11           ` Christian Meder
2003-12-20  1:26             ` Nick Piggin
2003-12-20  1:52               ` Christian Meder
2003-12-20  2:38                 ` Nick Piggin
2003-12-20  2:55                   ` Con Kolivas
2003-12-20  3:32                     ` Christian Meder
2003-12-20  3:50                       ` Nick Piggin
2003-12-20  4:16                         ` Christian Meder
2003-12-20  4:32                           ` Nick Piggin
2003-12-20  5:15                             ` Christian Meder
2003-12-20  8:31                               ` Con Kolivas
2003-12-20 11:19                               ` Ingo Molnar
2003-12-20 16:17                                 ` Christian Meder
2003-12-20 16:49                                 ` Christian Meder
2003-12-20 17:42                                   ` Ingo Molnar
2003-12-21  1:40                                     ` Christian Meder
2003-12-21  8:57                                       ` Ingo Molnar
2003-12-22  1:19                                         ` Christian Meder
2003-12-22  1:47                                           ` Con Kolivas [this message]
2003-12-22  8:48                                           ` Ingo Molnar
2003-12-20 23:29                                   ` Nick Piggin
2003-12-20 22:20                         ` Matthias Andree
2003-12-21 19:23                           ` Jens Axboe
2003-12-22 10:54                       ` Andrew McGregor
2003-12-22 11:15                         ` Con Kolivas
2003-12-22 12:51                         ` Ingo Molnar
2003-12-22 13:25                         ` Nick Piggin
2003-12-20 19:34 ` Marc Schiffbauer
2003-12-21  1:49   ` Christian Meder

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=200312221247.57447.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=chris@onestepahead.de \
    --cc=gnomemeeting-devel-list@gnome.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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