Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "Metzger, Markus T" <markus.t.metzger@intel.com>
Cc: dje@google.com, palves@redhat.com, gdb-patches@sourceware.org
Subject: Re: [rfc] btrace: change record instruction-history /m
Date: Mon, 17 Aug 2015 15:10:00 -0000	[thread overview]
Message-ID: <83a8tqlznh.fsf@gnu.org> (raw)
In-Reply-To: <A78C989F6D9628469189715575E55B2333193E3D@IRSMSX104.ger.corp.intel.com>

> From: "Metzger, Markus T" <markus.t.metzger@intel.com>
> CC: "palves@redhat.com" <palves@redhat.com>, "gdb-patches@sourceware.org"
> 	<gdb-patches@sourceware.org>
> Date: Mon, 17 Aug 2015 07:15:37 +0000
> 
> > > >> Change record instruction-history /m to use its own simple source
> > interleaving
> > > >> algorithm.  The most important part is that instructions are printed in
> > > >> the order in which they were executed.
> > > >
> > > > What does "order in which they were executed" mean with today's
> > > > multi-core and multi-execution unit CPUs?
> > > >
> > > > Thanks.
> > >
> > > "multi-core" doesn't enter into the picture here.
> > > The context is a single thread of control.
> > > And "multi-execution unit" doesn't either because
> > > that's just an underlying implementation detail
> > > of the CPU - the program must behave "as if"
> > > each instruction is executed serially
> > > (or as otherwise defined by the ISA).
> > 
> > You and I know that, but the text makes it sound as if each
> > instruction was somehow stamped with its execution time, and then the
> > instruction stream presented in that order, after annotating each
> > instruction with its source.  And that's misleading, IMO, because
> > evidently that's not what will happen.
> 
> It's not a per-instruction timestamp but it's h/w supported execution tracing.
> The h/w generates a trace of executed instructions (per h/w thread), the OS
> switches buffers to collect the trace per s/w thread, and GDB presents this to
> the user as execution-order disassembly (per thread).

So I suggest to tell that in the manual, and in general avoid saying
anything as definitive as "in the order they were executed", and
instead tell something like "in the order the hardware support for
execution tracing collects them".  This at least will point interested
readers to the vendor of the hardware if they want to ask specific
questions about the order.

Thanks.


  reply	other threads:[~2015-08-17 15:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 11:37 Markus Metzger
2015-08-14 13:45 ` Eli Zaretskii
2015-08-14 17:06   ` Doug Evans
2015-08-14 20:32     ` Eli Zaretskii
2015-08-17  7:16       ` Metzger, Markus T
2015-08-17 15:10         ` Eli Zaretskii [this message]
2015-08-18  6:30           ` Metzger, Markus T
2015-08-18 14:22             ` Eli Zaretskii
2015-08-14 17:02 ` Doug Evans
2015-08-14 17:44   ` Doug Evans
2015-08-17  7:23   ` Metzger, Markus T
2015-08-18 14:57 ` Pedro Alves
2015-08-19 14:45   ` Marc Khouzam

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=83a8tqlznh.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=markus.t.metzger@intel.com \
    --cc=palves@redhat.com \
    /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