From: Nick Piggin <piggin@cyberone.com.au>
To: Christian Meder <chris@onestepahead.de>
Cc: Ingo Molnar <mingo@elte.hu>, linux-kernel@vger.kernel.org
Subject: Re: 2.6 vs 2.4 regression when running gnomemeeting
Date: Sun, 21 Dec 2003 10:29:28 +1100 [thread overview]
Message-ID: <3FE4DB58.6020604@cyberone.com.au> (raw)
In-Reply-To: <1071938978.1025.48.camel@localhost>
Christian Meder wrote:
>On Sat, 2003-12-20 at 12:19, Ingo Molnar wrote:
>
>>* Christian Meder <chris@onestepahead.de> wrote:
>>
>>
>>>That would leave me with two possibilities: 2.6. is doing something
>>>different in the gnomemeeting case or gnomemeeting is doing something
>>>different in the 2.6 case. A cursory look at the gnomemeeting sources
>>>didn't give me the impression that it's doing anything which would be
>>>affected by 2.6 deployment but I'll ask on the gnomemeeting-devel list
>>>for advice.
>>>
>>yep, i've looked at the source too and it doesnt do anything that
>>changed in 2.6 from an interactivity POV.
>>
>
>Stefan Bruens pointed out on the gnomemeeting-devel list that pwlib
>which gnomemeeting is using executes sched_yield and that perhaps there
>is a problem akin to the openoffice busy-loop on sched_yield() problem
>earlier this year. I found the following sched_yield code in pwlib 1.5.2
>in src/ptlib/unix/tlibthrd.cxx:
>
>
>
>>static BOOL PAssertThreadOp(int retval,
>> unsigned & retry,
>> const char * funcname,
>> const char * file,
>> unsigned line)
>>{
>> if (retval == 0) {
>> PTRACE_IF(2, retry > 0, "PWLib\t" << funcname << " required " << retry << "
>>retries!");
>> return FALSE;
>> }
>>
>> if (errno == EINTR || errno == EAGAIN) {
>> if (++retry < 1000) {
>>#if defined(P_RTEMS)
>> sched_yield();
>>#else
>> usleep(10000); // Basically just swap out thread to try and clear blockage
>>#endif
>> return TRUE; // Return value to try again
>> }
>> // Give up and assert
>> }
>>
>> PAssertFunc(file, line, NULL, psprintf("Function %s failed", funcname));
>> return FALSE;
>>}
>>
>
>Is this obviously broken for 2.6 usage ?
>
Most probably, yes. That will cause the program to give up its entire
timeslice, so then all processes of any priority will be able to use
their entire timeslices before it.
If it gets called often, that would be the cause of your problem. Try
just using the usleep. You could even reduce the usleep timeout to
1000 or so, which 2.6 can take advantage of.
next prev parent reply other threads:[~2003-12-20 23:29 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
2003-12-20 23:29 ` Nick Piggin [this message]
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=3FE4DB58.6020604@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=chris@onestepahead.de \
--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