All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Carstens <hca@linux.ibm.com>
To: Marco Elver <elver@google.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Vasily Gorbik <gor@linux.ibm.com>,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	llvm@lists.linux.dev, qemu-s390x <qemu-s390x@nongnu.org>
Subject: Re: [GIT PULL] s390 updates for 5.15 merge window
Date: Tue, 31 Aug 2021 17:18:30 +0200	[thread overview]
Message-ID: <YS5IRiFO9crNu46y@osiris> (raw)
In-Reply-To: <YS5Ed4Cyf+rOf9MR@elver.google.com>

On Tue, Aug 31, 2021 at 05:02:15PM +0200, Marco Elver wrote:
> On Tue, Aug 31, 2021 at 12:46PM +0200, Marco Elver wrote:
> > On Tue, 31 Aug 2021 at 12:13, Heiko Carstens <hca@linux.ibm.com> wrote:
> I repro'd, and the problem is part QEMU TCG and a minor problem with
> stack_trace_save() on s390:
> 
> 1. QEMU TCG doesn't seem to want to execute threads concurrently,
>    resulting in no "value changes" being observed. This is probably just
>    a limitation of TCG, and if run on a real CPU, shouldn't be a problem.
>    On QEMU, most test cases will pass with CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=n
>    (There's one left that requires value changes to be observable)
> 
> 2. stack_trace_save() is subtly broken on s390: it starts the trace in
>    stack_trace_save() itself. This is incorrect, as the trace should
>    start with the caller. We reported something similar to arm64, also
>    because one of our sanitizer tests failed:
>    https://lkml.kernel.org/r/20210319184106.5688-1-mark.rutland@arm.com
...
> I fixed it with the below, and now most tests pass. Note that, other
> debugging tools may also report misleading stack traces without the
> stack_trace_save() fix (e.g. certain KFENCE reports).
> 
> If you have a better solution for how to fix stack_trace_save() on s390,
> please discard my patch.

Ah, with your patch I get the below on a real machine; so it looks
like this really was the only problem for the failing self tests.

Thanks a lot for the patch! Will look into it later and apply if
everything else still works!

[    5.138547]     ok 1 - test_basic
[    7.538799]     ok 2 - test_concurrent_races
[    9.938524]     ok 3 - test_novalue_change
[   11.620063]     ok 4 - test_novalue_change_exception
[   11.952404]     ok 5 - test_unknown_origin
[   14.349852]     ok 6 - test_write_write_assume_atomic
[   14.681937]     ok 7 - test_write_write_struct
[   15.031046]     ok 8 - test_write_write_struct_part
[   17.429869]     ok 9 - test_read_atomic_write_atomic
[   17.760862]     ok 10 - test_read_plain_atomic_write
[   18.093500]     ok 11 - test_read_plain_atomic_rmw
[   20.490570]     ok 12 - test_zero_size_access
[   22.939270]     ok 13 - test_data_race
[   23.271104]     ok 14 - test_assert_exclusive_writer
[   23.601940]     ok 15 - test_assert_exclusive_access
[   26.000281]     ok 16 - test_assert_exclusive_access_writer
[   26.330718]     ok 17 - test_assert_exclusive_bits_change
[   28.739480]     ok 18 - test_assert_exclusive_bits_nochange
[   28.962218]     ok 19 - test_assert_exclusive_writer_scoped
[   29.071385]     ok 20 - test_assert_exclusive_access_scoped
[   31.479706]     ok 21 - test_jiffies_noreport
[   33.879581]     ok 22 - test_seqlock_noreport
[   36.279853]     ok 23 - test_atomic_builtins
[   36.279893] ok 1 - kcsan

  reply	other threads:[~2021-08-31 15:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-30 13:11 [GIT PULL] s390 updates for 5.15 merge window Heiko Carstens
2021-08-30 20:17 ` pr-tracker-bot
2021-08-31  2:19 ` Nathan Chancellor
2021-08-31  7:09   ` Christian Borntraeger
2021-08-31 10:13     ` Heiko Carstens
2021-08-31 10:46       ` Marco Elver
2021-08-31 15:02         ` Marco Elver
2021-08-31 15:18           ` Heiko Carstens [this message]
2021-08-31 17:48           ` Nathan Chancellor
2021-08-31 17:49             ` Christian Borntraeger
2021-09-01 14:03           ` Vasily Gorbik
2021-09-01 14:05             ` [PATCH] s390/unwind: use current_frame_address() to unwind current task Vasily Gorbik
2021-09-01 17:51               ` Marco Elver
2021-09-01 18:07                 ` Heiko Carstens
2021-09-03 23:23               ` Nathan Chancellor

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=YS5IRiFO9crNu46y@osiris \
    --to=hca@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=elver@google.com \
    --cc=gor@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=nathan@kernel.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=torvalds@linux-foundation.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 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.