Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: "Jakob Engblom" <jakob@virtutech.com>
To: "'Stan Shebs'" <stan@codesourcery.com>,
		"'Michael Snyder'" <msnyder@vmware.com>
Cc: <gdb@sourceware.org>
Subject: RE: Tracepoint enhancements
Date: Wed, 05 Nov 2008 09:04:00 -0000	[thread overview]
Message-ID: <002601c93f25$5aeaffe0$10c0ffa0$@com> (raw)
In-Reply-To: <4910C062.4040404@codesourcery.com>

> > [...] a checkpoint
> > represents a machine state.  If there are multiple machines,
> > that complicates the picture -- but basically gdb is saying
> > to the target "I want to be able to return to the state that
> > you are in *right now*".
> Hmm, that is a significant wrinkle to the execution history theory.
> Basically it's not possible to know reliably whether the execution state
> of one CPU comes sooner or later than the state of another CPU - their
> clocks can't be guaranteed to be sync'ed to a sub-instruction level.
> It's a little like a distributed version control system, where each
> repository has its own version numbers, and any ordering derives from
> explicit push/pull instructions. Each inferior can have a reliable
> execution history, but if you want to go back to state X on CPU 1, you
> either just affect the one inferior, or expect that other inferiors will
> go back to the closest available state in their histories.

This is true on most physical hardware, but it can often be worked around in
simulators. So I would strongly suggest letting the backend worry about that.
In a system such as Simics and other complete simulation solutions, this is
indeed feasible since you impose a certain semantics on the execution of the
simulated system. 

Or imagine connecting to a cycle-by-cycle simulation or emulation solution such
as a HAPS or Palladium or ZeBu system -- such solutions can stop synchronously
on a single cycle. Also, on-chip trace is coming out that would be able to do
synchronized time-stamping of event from an entire SoC, exported over some
hardware debug port. 

So while not always true, there are several cases where you can indeed have a
synchronized history and control over parallellism. All you need is to insert a
layer of indirection that converts parallel to some kind of known sequential
execution.

Best regards,

/jakob

_______________________________________________________

Jakob Engblom, PhD, Technical Marketing Manager

Virtutech                   Direct: +46 8 690 07 47    
Drottningholmsvägen 14      Mobile: +46 709 242 646   
11243 Stockholm             Web:    www.virtutech.com  
Sweden
________________________________________________________
 



  parent reply	other threads:[~2008-11-05  9:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-31 20:46 Stan Shebs
     [not found] ` <490B6CEF.2000003@vmware.com>
2008-11-01  8:40   ` Vladimir Prus
2008-11-03 18:20     ` Michael Snyder
2008-11-04 21:17       ` Stan Shebs
2008-11-05  7:14         ` Vladimir Prus
     [not found]     ` <Pine.LNX.4.58.0811060523150.8468@vlab.hofr.at>
2008-11-06 18:19       ` Vladimir Prus
2008-11-03  6:38   ` Jakob Engblom
2008-11-03 18:27     ` Michael Snyder
2008-11-03 18:53       ` Jakob Engblom
2008-11-03 19:23         ` Michael Snyder
2008-11-04 14:00           ` Jakob Engblom
2008-11-04 21:37           ` Stan Shebs
2008-11-04 21:58             ` Michael Snyder
2008-11-05  9:04             ` Jakob Engblom [this message]
2008-11-03  9:12 ` Jeremy Bennett
2008-11-04 21:26   ` Stan Shebs

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='002601c93f25$5aeaffe0$10c0ffa0$@com' \
    --to=jakob@virtutech.com \
    --cc=gdb@sourceware.org \
    --cc=msnyder@vmware.com \
    --cc=stan@codesourcery.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