qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] basic block tracing question


From: Tim Newsham
Subject: Re: [Qemu-devel] basic block tracing question
Date: Wed, 16 Mar 2016 11:06:50 -1000

On Wed, Mar 16, 2016 at 10:52 AM, Peter Maydell <address@hidden> wrote:

If you only emit tracing information after the TB has executed and
returned then you will miss the case where we execute half a TB
and take an exception (eg load/store that page faulted, or system call),
because in that case we'll longjmp() out of the generated code. That's
one of the reasons why the tracing we have in upstream traces before
TB execution.

What happens when the basic block gets interrupted mid execution
and restarted?  Will execution jump to the middle of the translated
basic block, or will a new translation be performed starting at the
midpoint?

Firstly, are you running with -d nochain to disable QEMU's chaining
of TBs? (If not, then when we chain TBs together you'll only get
exec tracing for the first one, which is a good way to get confused.
The default tracing will tell you when we chain TBs together so you
can sort of unconfuse yourself, but it's easier to just turn it off
if you care about the TB logging.)

I was not using "-d nochain".  Thank you!
 
thanks
-- PMM


--

reply via email to

[Prev in Thread] Current Thread [Next in Thread]