From: Ingo Molnar <mingo@elte.hu>
To: Jie Chen <chen@jlab.org>
Cc: linux-kernel@vger.kernel.org, Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: Possible bug from kernel 2.6.22 and above, 2.6.24-rc4
Date: Tue, 11 Dec 2007 11:51:50 +0100 [thread overview]
Message-ID: <20071211105149.GA24250@elte.hu> (raw)
In-Reply-To: <475D9BB5.20808@jlab.org>
* Jie Chen <chen@jlab.org> wrote:
>> and then you use this in the measurement loop:
>>
>> for (k=0; k<=OUTERREPS; k++){
>> start = getclock();
>> for (j=0; j<innerreps; j++){
>> #ifdef _QMT_PUBLIC
>> delay((void *)0, 0);
>> #else
>> delay(0, 0, 0, (void *)0);
>> #endif
>> }
>> times[k] = (getclock() - start) * 1.0e6 / (double) innerreps;
>> }
>>
>> the problem is, this does not take the overhead of gettimeofday into
>> account - which overhead can easily reach 10 usecs (the observed
>> regression). Could you try to eliminate the gettimeofday overhead from
>> your measurement?
>>
>> gettimeofday overhead is something that might have changed from .21 to .22
>> on your box.
>>
>> Ingo
>
> Hi, Ingo:
>
> In my pthread_sync code, I first call refer () subroutine which
> actually establishes the elapsed time (reference time) for
> non-synchronized delay() using the gettimeofday. Then each
> synchronization overhead value is obtained by subtracting the
> reference time from the elapsed time with introduced synchronization.
> The effect of gettimeofday() should be minimal if the time difference
> (overhead value) is the interest here. Unless the gettimeofday behaves
> differently in the case of running 8 threads .vs. running 2 threads.
>
> I will try to replace gettimeofday with a lightweight timer call in my
> test code. Thank you very much.
gettimeofday overhead is around 10 usecs here:
2740 1197359374.873214 gettimeofday({1197359374, 873225}, NULL) = 0 <0.000010>
2740 1197359374.970592 gettimeofday({1197359374, 970608}, NULL) = 0 <0.000010>
and that's the only thing that is going on when computing the reference
time - and i see a similar syscall pattern in the PARALLEL and BARRIER
calculations as well (with no real scheduling going on).
Ingo
next prev parent reply other threads:[~2007-12-11 10:52 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-21 20:34 Possible bug from kernel 2.6.22 and above Jie Chen
2007-11-21 22:14 ` Eric Dumazet
2007-11-22 1:52 ` Jie Chen
2007-11-22 2:32 ` Simon Holm Thøgersen
2007-11-22 2:58 ` Jie Chen
2007-11-22 20:19 ` Matt Mackall
2007-12-04 13:17 ` Possible bug from kernel 2.6.22 and above, 2.6.24-rc4 Ingo Molnar
2007-12-04 15:41 ` Jie Chen
2007-12-05 15:29 ` Jie Chen
2007-12-05 15:40 ` Ingo Molnar
2007-12-05 16:16 ` Eric Dumazet
2007-12-05 16:25 ` Ingo Molnar
2007-12-05 16:29 ` Eric Dumazet
2007-12-05 16:22 ` Jie Chen
2007-12-05 16:47 ` Ingo Molnar
2007-12-05 17:47 ` Jie Chen
2007-12-05 20:03 ` Ingo Molnar
2007-12-05 20:23 ` Jie Chen
2007-12-05 20:46 ` Ingo Molnar
2007-12-05 20:52 ` Jie Chen
2007-12-05 21:02 ` Ingo Molnar
2007-12-05 22:16 ` Jie Chen
2007-12-06 10:43 ` Ingo Molnar
2007-12-06 16:29 ` Jie Chen
2007-12-10 10:59 ` Ingo Molnar
2007-12-10 20:04 ` Jie Chen
2007-12-11 10:51 ` Ingo Molnar [this message]
2007-12-11 15:28 ` Jie Chen
2007-12-11 15:52 ` Ingo Molnar
2007-12-11 16:39 ` Jie Chen
2007-12-11 21:23 ` Ingo Molnar
2007-12-11 22:11 ` Jie Chen
2007-12-12 12:49 ` Peter Zijlstra
2007-12-05 20:36 ` Possible bug from kernel 2.6.22 and above Peter Zijlstra
2007-12-05 20:53 ` Jie Chen
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=20071211105149.GA24250@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=chen@jlab.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox