RE: [PATCH] btrace, testsuite: fix spurious gdb.btrace/tsx.exp fails

Metzger, Markus T
2015-09-21T06:31:26Z

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Pedro Alves
> Sent: Friday, September 18, 2015 2:57 PM
> To: Metzger, Markus T
> Cc: gdb-patches@sourceware.org
> Subject: Re: [PATCH] btrace, testsuite: fix spurious gdb.btrace/tsx.exp fails

> > A transaction can be aborted for various reasons. One such reason is an
> > interrupt, which can happen at any time.
>
> I was under the impression that the hardware or kernel would retry
> the transaction and that that would be transparent to
> userspace, but sounds like not then.

For RTM you have to provide the abort handler, yourself. You may retry
the transaction or fall back to more heavy-weight synchronization.

> > This occurs very infrequently. After I saw this the first time, I had to re-run
> > the test several dozen times to reproduce it again.
>
> +gdb_test_multiple "record instruction-history" "speculation indication" {
> + -re "$abort_1.*$gdb_prompt $" {
> + pass "speculation indication: abort"
> + }
> + -re "$abort_2.*$gdb_prompt $" {
> + pass "speculation indication: abort"
> + }
> + -re "$begin_to_end.*$gdb_prompt $" {
> + pass "speculation indication: begin..end"
> + }
> +}
>
> Note this will cause ping-ponging of PASS messages, resulting
> in spurious changes in test result diffing. I'd suggest using
> the same message in all cases.

OK.

I'll send an updated patch.

Regards,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
Chairperson of the Supervisory Board: Tiffany Doon Silva
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928