From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32971) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZOswU-00005H-Gq for qemu-devel@nongnu.org; Mon, 10 Aug 2015 15:41:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZOswO-0004oa-PQ for qemu-devel@nongnu.org; Mon, 10 Aug 2015 15:41:06 -0400 Message-ID: <55C8FE48.6010900@codeaurora.org> Date: Mon, 10 Aug 2015 15:40:56 -0400 From: Christopher Covington MIME-Version: 1.0 References: <1438593291-27109-1-git-send-email-alex.bennee@linaro.org> <1438593291-27109-6-git-send-email-alex.bennee@linaro.org> In-Reply-To: <1438593291-27109-6-git-send-email-alex.bennee@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 05/11] qemu-log: Improve the "exec" TB execution logging List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Alex_Benn=c3=a9e?= , qemu-devel@nongnu.org, Peter Maydell Cc: qemu-trivial@nongnu.org, pbonzini@redhat.com, crosthwaitepeter@gmail.com, aurelien@aurel32.net, rth@twiddle.net Hi Peter, Alex, On 08/03/2015 05:14 AM, Alex Benn=C3=A9e wrote: > From: Peter Maydell >=20 > Improve the TB execution logging so that it is easier to identify > what is happening from trace logs: > * move the "Trace" logging of executed TBs into cpu_tb_exec() > so that it is emitted if and only if we actually execute a TB, > and for consistency for the CPU state logging > * log when we link two TBs together via tb_add_jump() > * log when cpu_tb_exec() returns early from a chain of TBs >=20 > The new style logging looks like this: >=20 > Trace 0x7fb7cc822ca0 [ffffffc0000dce00] > Linking TBs 0x7fb7cc822ca0 [ffffffc0000dce00] index 0 -> 0x7fb7cc823110= [ffffffc0000dce10] > Trace 0x7fb7cc823110 [ffffffc0000dce10] > Trace 0x7fb7cc823420 [ffffffc000302688] > Trace 0x7fb7cc8234a0 [ffffffc000302698] > Trace 0x7fb7cc823520 [ffffffc0003026a4] > Trace 0x7fb7cc823560 [ffffffc0000dce44] > Linking TBs 0x7fb7cc823560 [ffffffc0000dce44] index 1 -> 0x7fb7cc8235d0= [ffffffc0000dce70] > Trace 0x7fb7cc8235d0 [ffffffc0000dce70] > Abandoned execution of TB chain before 0x7fb7cc8235d0 [ffffffc0000dce70= ] > Trace 0x7fb7cc8235d0 [ffffffc0000dce70] > Trace 0x7fb7cc822fd0 [ffffffc0000dd52c] Do you think there's some way to log the loop count when a circular chain= is executed? System Emulation started at Mon Aug 10 15:30:49 2015 Invocation:aarch64-softmmu/qemu-system-aarch64 -M virt -cpu cortex-a57 -m= 2G -kernel psci-exit -d exec,int,in_asm -nodefaults -nographic -monitor none -icount shift=3D0 ---------------- IN: 0x0000000080000000: d2800140 mov x0, #0xa 0x0000000080000004: f1000400 subs x0, x0, #0x1 (1) 0x0000000080000008: 54ffffe1 b.ne #-0x4 (addr 0x80000004) Trace 0x7f38787cb000 [0000000080000000] ---------------- IN: 0x0000000080000004: f1000400 subs x0, x0, #0x1 (1) 0x0000000080000008: 54ffffe1 b.ne #-0x4 (addr 0x80000004) Linking TBs 0x7f38787cb000 [0000000080000000] index 1 -> 0x7f38787cb0d0 [0000000080000004] Trace 0x7f38787cb0d0 [0000000080000004] Linking TBs 0x7f38787cb0d0 [0000000080000004] index 1 -> 0x7f38787cb0d0 [0000000080000004] Trace 0x7f38787cb0d0 [0000000080000004] ---------------- IN: 0x000000008000000c: d2800100 mov x0, #0x8 0x0000000080000010: f2b08000 movk x0, #0x8400, lsl #16 0x0000000080000014: d4000002 hvc #0x0 Linking TBs 0x7f38787cb0d0 [0000000080000004] index 0 -> 0x7f38787cb1c0 [000000008000000c] Trace 0x7f38787cb1c0 [000000008000000c] Taking exception 11 [Hypervisor Call] ...from EL1 ...with ESR 0x5a000000 Thanks, Christopher Covington --=20 Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum= , a Linux Foundation Collaborative Project