From: Ingo Molnar <mingo@elte.hu>
To: Christian Meder <chris@onestepahead.de>
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 09:48:24 +0100 [thread overview]
Message-ID: <20031222084824.GA4562@elte.hu> (raw)
In-Reply-To: <1072055962.999.69.camel@localhost>
* Christian Meder <chris@onestepahead.de> wrote:
> > 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. [...]
this is definitely broken code. Such code already causes big CPU
overhead in certain circumstances (under 2.4 too) - but in 2.6 it also
shows up as an interactivity problem. So 2.4 hid the problem, 2.6
exposes it.
> So the questionable code in pwlib is probably:
> > BOOL PSemaphore::Wait(const PTimeInterval & waitTime)
yeah. pwlib should be fixed. The quick fix is, instead of sched_yield(),
to do:
{
struct timespec timer = { 0, 1 };
nanosleep (&timer, NULL);
}
this does what pwlib really wants to do: sleep for the shortest amount
of time posssible, because its semaphore implementation is polling
based.
(but pwlib should perhaps use sem_timedwait(sem, abs_timeout) instead -
which does exactly what PSemaphore::Wait() tries to implement.)
Ingo
next prev parent reply other threads:[~2003-12-22 8:47 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
2003-12-22 8:48 ` Ingo Molnar [this message]
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=20031222084824.GA4562@elte.hu \
--to=mingo@elte.hu \
--cc=chris@onestepahead.de \
--cc=gnomemeeting-devel-list@gnome.org \
--cc=linux-kernel@vger.kernel.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.