From: "Paul E. McKenney" <paulmck@linux.ibm.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: perfbook@vger.kernel.org
Subject: Re: [Possible BUG] count_lim_atomic.c fails on POWER8
Date: Sat, 20 Oct 2018 09:36:48 -0700 [thread overview]
Message-ID: <20181020163648.GA2674@linux.ibm.com> (raw)
In-Reply-To: <d6abdc9c-9d0e-9435-05be-85a4fe9d3347@gmail.com>
On Sun, Oct 21, 2018 at 12:53:17AM +0900, Akira Yokosawa wrote:
> Hi Paul,
>
> I just noticed occasional error of count_lim_atomic.c on POWER8 at current master.
> As I've recently touched the code under Codesamples/count/, I also tested on
> the tag "v2017.11.22a", and saw the same behavior.
>
> The POWER8 virtual machine is Ubuntu 16.04.
>
> Example output:
>
> $ ./count_lim_atomic 6 uperf 1
> !!! Count mismatch: 0 counted vs. 8 final value
> n_reads: 0 n_updates: 26038000 nreaders: 0 nupdaters: 6 duration: 240
> ns/read: nan ns/update: 55.3038
>
> $ ./count_lim_atomic 6 perf 1
> !!! Count mismatch: 0 counted vs. 11 final value
> n_reads: 287000 n_updates: 1702000 nreaders: 6 nupdaters: 1 duration: 240
> ns/read: 5017.42 ns/update: 141.011
>
> As you see, the final count check of zero fails even when nupdaters == 1.
Yow!!! Thank you for checking this!
That said, it probably wasn't really single threaded, at least assuming
that you had at least one reader.
> I have no idea what's wrong in count_lim_atomic.c.
>
> Can you look into this? There might be something wrong in the header file
> under CodeSamples/arch-ppc64.h.
There isn't much in that file anymore because we now rely on the gcc
intrinsics for the most part. Which might well be the problem, depending
on compiler versions and so on.
Could you please send me the output of "objdump -d" on count_lim_atomic.o?
And on the full count_lim_atomic binary, just in case gcc decides to be
tricky in its code generation?
In the meantime, there might well be a generic bug in count_lim_atomic.c
that just happens not to be exercised on x86, and I will look into that.
I am on travel next week, so will be in odd timezones, but should have
at least a little useful airplane time to look into this.
> On x86_64, I've never seen the count mismatch.
Well, David Goldblatt's first C++11 signal-based litmus test wouldn't fail
on PowerPC but did on x86, so I guess that they are now even. ;-)
Thanx, Paul
next prev parent reply other threads:[~2018-10-21 0:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-20 15:53 [Possible BUG] count_lim_atomic.c fails on POWER8 Akira Yokosawa
2018-10-20 16:36 ` Paul E. McKenney [this message]
2018-10-24 15:53 ` Junchang Wang
2018-10-24 22:05 ` Akira Yokosawa
2018-10-24 22:29 ` Akira Yokosawa
2018-10-25 2:18 ` Junchang Wang
2018-10-25 2:11 ` Junchang Wang
2018-10-25 9:45 ` Paul E. McKenney
2018-10-25 12:23 ` Akira Yokosawa
2018-10-25 14:09 ` Junchang Wang
2018-10-25 15:17 ` Akira Yokosawa
2018-10-25 22:04 ` Akira Yokosawa
2018-10-26 0:58 ` Junchang Wang
2018-10-27 14:56 ` Akira Yokosawa
[not found] ` <20181028001723.GJ4170@linux.ibm.com>
2018-10-28 12:08 ` Junchang Wang
2018-10-28 13:19 ` Paul E. McKenney
2018-10-28 13:22 ` Akira Yokosawa
2018-10-28 14:24 ` Akira Yokosawa
2018-10-28 16:43 ` Paul E. McKenney
2018-10-29 14:45 ` Akira Yokosawa
2018-10-29 15:30 ` Paul E. McKenney
2018-10-26 1:12 ` Akira Yokosawa
2018-10-26 11:34 ` Akira Yokosawa
2018-10-26 16:06 ` Junchang Wang
2018-10-25 15:24 ` Paul E. McKenney
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=20181020163648.GA2674@linux.ibm.com \
--to=paulmck@linux.ibm.com \
--cc=akiyks@gmail.com \
--cc=perfbook@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