public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jie Chen <chen@jlab.org>
To: Ingo Molnar <mingo@elte.hu>
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 10:28:01 -0500	[thread overview]
Message-ID: <475EAC81.1020408@jlab.org> (raw)
In-Reply-To: <20071211105149.GA24250@elte.hu>

Ingo Molnar wrote:
> * 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

Hi, Ingo:

I guess it is a good news. I did patch 2.6.21.7 kernel using your cfs 
patch. The results of pthread_sync is the same as the non-patched 2.6.21 
kernel. This means the performance of is not related to the scheduler. 
As for overhead of the gettimeofday, there is no difference between 
2.6.21 and 2.6.24-rc4. The reference time is around 10.5 us for both 
kernel.

So what is changed between 2.6.21 and 2.6.22? Any hints :-). Thank you 
very much for all your help.

-- 
###############################################
Jie Chen
Scientific Computing Group
Thomas Jefferson National Accelerator Facility
12000, Jefferson Ave.
Newport News, VA 23606

(757)269-5046 (office) (757)269-6248 (fax)
chen@jlab.org
###############################################


  reply	other threads:[~2007-12-11 15:28 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
2007-12-11 15:28                                           ` Jie Chen [this message]
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=475EAC81.1020408@jlab.org \
    --to=chen@jlab.org \
    --cc=a.p.zijlstra@chello.nl \
    --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