From: Olivier Langlois <olivier@trillion01.com>
To: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
schwidefsky@de.ibm.com, Steven Rostedt <rostedt@goodmis.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] process cputimer is moving faster than its corresponding clock
Date: Sat, 27 Apr 2013 01:02:23 -0400 [thread overview]
Message-ID: <1367038943.12779.10.camel@Wailaba2> (raw)
In-Reply-To: <CAHGf_=q5W1brnzmsK0bN9s07RXsRUyRoYKN347kySQs_3g2_Lg@mail.gmail.com>
On Fri, 2013-04-26 at 22:15 -0400, KOSAKI Motohiro wrote:
> On Fri, Apr 26, 2013 at 9:51 PM, Olivier Langlois
> <olivier@trillion01.com> wrote:
> > On Fri, 2013-04-26 at 15:08 -0400, KOSAKI Motohiro wrote:
> >> > I need to add that I can only confirm that to be true with
> >> > sum_exec_runtime.
> >> >
> >> > To affirm it to be true for stime and utime would require more
> >> > investigation. I didn't look them at all. I was only concerned with
> >> > sum_exec_runtime.
> >> >
> >> > I will prepare a v2 of the patch accounting all the feedbacks that I
> >> > received from KOSAKI Motohiro, Frederic Weisbecker and Peter Zijlstra
> >> > and send it back here for further discussion.
> >> >
> >> > Thank you very much all!
> >>
> >> Do you mean your utime test case still failure? If you share your test-case,
> >> I'm going to look at your issue too.
> >>
> > Sure with pleasure. My testcase is glibc-2.17/rt/tst-cputimer1.c
> >
> > That being said, it strictly test CPUCLOCK_SCHED timers. Hence my focus
> > when modifying the code was strictly on sum_exec_runtime.
> >
> > If utime and stime components of cputimer are moving faster than their
> > associated clock, this is something that I did not address.
>
> Hmm... Sorry. I'm confused. 1) I haven't seen any glibc test failure
> after applying
> my patch. 2) tst-cputimer1.c only have CLOCK_PROCESS_CPUTIME_ID test and
> don't have any utime, stime tests.
>
> Please let me know if you've seen any failure after applying my patch.
Basically it is to exclude deltas away from the cputimer initialization
value.
Yes I still have the failure. My patch can be broken into 3 elements.
1. fair.c - cputimer slow down
2. Add deltas to cputimer sample
3. Address race condition
If any of these 3 elements are missing, you get the failure.
That being said, it is not a systematic failure. It is intermittent. I
am wrapping the execution of the unittest into a simple perl script:
#!/usr/bin/perl
use strict;
use warnings;
my $i = 0;
while (system("./tst-cputimer1") == 0) { ++$i; }
print "run $i successful iteration\n";
----------------------------------------
I get the failure after 10-300 iterations depending how I am
lucky/unlucky.
Also other factors to consider it is are you doing the test on a very
loaded system? What is your platform?
I have tested it positively on 32 bit, 64 bits build on Atom N450
i7 first and second generation system.
I did vary HZ from 300 to 1000 HZ, I tried the 3 three different
preemption models.
With all these combinations, I still have the problem.
Basically the timer error is usually < 500 uS so depending when the
process is called as a response to the timer event and this depends on
scheduler decisions, your failure rate will vary depending on the system
load IMO.
next prev parent reply other threads:[~2013-04-27 5:02 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-05 17:59 [PATCH] process cputimer is moving faster than its corresponding clock Olivier Langlois
2013-04-10 11:35 ` Peter Zijlstra
2013-04-10 15:48 ` Olivier Langlois
2013-04-12 9:16 ` Peter Zijlstra
2013-04-15 1:55 ` Olivier Langlois
2013-04-12 9:18 ` Peter Zijlstra
2013-04-12 10:50 ` Peter Zijlstra
2013-04-12 15:55 ` Peter Zijlstra
2013-04-15 6:11 ` Olivier Langlois
2013-04-19 13:03 ` Frederic Weisbecker
2013-04-19 17:38 ` KOSAKI Motohiro
2013-04-19 18:08 ` KOSAKI Motohiro
2013-04-26 4:40 ` Olivier Langlois
2013-04-26 6:27 ` Olivier Langlois
2013-04-26 19:08 ` KOSAKI Motohiro
2013-04-27 1:51 ` Olivier Langlois
2013-04-27 2:15 ` KOSAKI Motohiro
2013-04-27 5:02 ` Olivier Langlois [this message]
2013-04-27 5:17 ` Olivier Langlois
2013-04-27 5:31 ` Olivier Langlois
2013-04-27 5:06 ` Olivier Langlois
2013-04-27 4:40 ` [PATCH v2 1/3] " Olivier Langlois
2013-04-29 0:45 ` Frederic Weisbecker
2013-04-29 17:29 ` Olivier Langlois
2013-04-29 5:06 ` KOSAKI Motohiro
2013-04-29 17:10 ` Olivier Langlois
2013-04-29 17:41 ` Olivier Langlois
2013-04-29 17:56 ` KOSAKI Motohiro
2013-04-29 18:20 ` Olivier Langlois
2013-04-29 18:31 ` KOSAKI Motohiro
2013-04-29 18:54 ` Olivier Langlois
2013-04-29 19:09 ` KOSAKI Motohiro
2013-04-29 21:20 ` Olivier Langlois
2013-04-29 22:42 ` KOSAKI Motohiro
[not found] ` <1367036552.7911.63.camel@Wailaba2>
2013-04-27 4:40 ` [PATCH v2 2/3] " Olivier Langlois
2013-04-27 4:41 ` [PATCH v2 3/3] " Olivier Langlois
2013-04-29 6:25 ` KOSAKI Motohiro
2013-04-29 17:16 ` Olivier Langlois
2013-04-11 3:29 ` [PATCH] " Olivier Langlois
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=1367038943.12779.10.camel@Wailaba2 \
--to=olivier@trillion01.com \
--cc=fweisbec@gmail.com \
--cc=kosaki.motohiro@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=schwidefsky@de.ibm.com \
--cc=tglx@linutronix.de \
/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.