From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1db5WQ-0002NA-KM for qemu-devel@nongnu.org; Fri, 28 Jul 2017 09:41:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1db5WP-00060d-Qw for qemu-devel@nongnu.org; Fri, 28 Jul 2017 09:41:42 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:35949) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1db5WP-0005zp-Jd for qemu-devel@nongnu.org; Fri, 28 Jul 2017 09:41:41 -0400 Received: by mail-wm0-x229.google.com with SMTP id t201so126145480wmt.1 for ; Fri, 28 Jul 2017 06:41:41 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20170728133430.GS12364@stefanha-x1.localdomain> References: <150091574424.30739.4131793221953168474.stgit@frigg.lan> <20170725131931.GC23343@stefanha-x1.localdomain> <20170726112633.GE18489@stefanha-x1.localdomain> <20170727104302.GI2555@redhat.com> <20170727152137.GW2555@redhat.com> <20170727154535.GY2555@redhat.com> <20170728133430.GS12364@stefanha-x1.localdomain> From: Peter Maydell Date: Fri, 28 Jul 2017 14:41:19 +0100 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: "Daniel P. Berrange" , Stefan Hajnoczi , "Emilio G. Cota" , =?UTF-8?Q?Llu=C3=ADs_Vilanova?= , QEMU Developers On 28 July 2017 at 14:34, Stefan Hajnoczi wrote: > Llu=C3=ADs/Peter: What are the requirements for instrumentation code > interacting with the running QEMU instance? simpletrace is > asynchronous, meaning it does not wait for anyone handle the trace event > before continuing execution, and is therefore not suitable for > SystemTap-style scripts that can interact with the program while > handling a trace event. I think you'd probably want synchronous -- it's pretty helpful to be able to say "register a trace event hook that doesn't fire very often, and use that to get to the region of execution that's of interest to you, then enable more hooks to get more detail at that point". (For instance, "wait til we've executed 5,000,000 instructions, then turn on the tracing of all instruction execution, register modification and memory accesses".) thanks -- PMM