|
From: | Evan Driscoll |
Subject: | Re: [Qemu-discuss] Incomplete '-d exec' traces? |
Date: | Fri, 09 Jan 2015 18:58:24 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 01/09/2015 06:03 PM, Peter Maydell wrote:
You're likely seeing the results of QEMU's TB chaining optimization. Basically, if a jump target (or conditional jump target) is to a known TB that we have already translated, we will patch it so that we jump directly from one TB to the next without coming back out to the inner loop. When we do this we won't log the execution of the second and subsequent TBs in a chain, because the logging happens in the cpu-exec loop. You can check whether this is the issue by commenting out the call to tb_add_jump() in cpu-exec.c, which will disable the optimization.
That appears to be it. Thank you very much! Evan
(I did at one point have some patches that logged the creation of the chains (which would let you reconstruct execution from the log) but they were a bit hacky because they didn't log when we unlinked a chain again.) -- PMM
[Prev in Thread] | Current Thread | [Next in Thread] |