From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=33682 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnFhP-0000wi-4f for qemu-devel@nongnu.org; Wed, 09 Feb 2011 14:27:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnFhN-0006g5-3U for qemu-devel@nongnu.org; Wed, 09 Feb 2011 14:27:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:32340) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnFhM-0006fS-PA for qemu-devel@nongnu.org; Wed, 09 Feb 2011 14:27:33 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p19JRVIe011886 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 9 Feb 2011 14:27:31 -0500 From: Rayson Ho In-Reply-To: References: <1283952030.2631.19.camel@computer> <1284988762.2500.13.camel@computer> <1285073887.2566.39.camel@computer> <1285157490.6879.23.camel@computer> <1285159357.6879.31.camel@computer> <1290019040.2454.3.camel@computer> <1290626577.7673.2.camel@computer> Content-Type: text/plain; charset="UTF-8" Date: Wed, 09 Feb 2011 14:27:31 -0500 Message-ID: <1297279651.2295.23.camel@computer> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] QEMU network probes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: systemtap@sources.redhat.com Please review the probe addition in QEMU for the network module, note that I added probes for send & receive Ethernet frames for rtl8139 so far but not other network devices. Also for receive, the probe would only fire when a frame is successfully received, so any errors are ignored. ========================================================================= diff --git a/hw/rtl8139.c b/hw/rtl8139.c index a22530c..df04f59 100644 --- a/hw/rtl8139.c +++ b/hw/rtl8139.c @@ -53,6 +53,7 @@ #include "net.h" #include "loader.h" #include "sysemu.h" +#include "trace.h" /* debug RTL8139 card */ //#define DEBUG_RTL8139 1 @@ -1160,6 +1161,8 @@ static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_ rtl8139_update_irq(s); } + trace_rtl8139_do_receive(nc, buf, size_, do_interrupt); + return size_; } @@ -1742,6 +1745,8 @@ static uint32_t rtl8139_RxConfig_read(RTL8139State *s) static void rtl8139_transfer_frame(RTL8139State *s, const uint8_t *buf, int size, int do_interrupt) { + trace_rtl8139_transfer_frame(s, buf, size, do_interrupt); + if (!size) { DEBUG_PRINT(("RTL8139: +++ empty ethernet frame\n")); diff --git a/net.c b/net.c index 9ba5be2..ba74f74 100644 --- a/net.c +++ b/net.c @@ -36,6 +36,7 @@ #include "qemu-common.h" #include "qemu_socket.h" #include "hw/qdev.h" +#include "trace.h" static QTAILQ_HEAD(, VLANState) vlans; static QTAILQ_HEAD(, VLANClientState) non_vlan_clients; @@ -559,6 +560,7 @@ ssize_t qemu_send_packet_async(VLANClientState *sender, void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size) { + trace_qemu_send_packet(vc, buf, size); qemu_send_packet_async(vc, buf, size, NULL); } diff --git a/trace-events b/trace-events index e6138ea..76a8431 100644 --- a/trace-events +++ b/trace-events @@ -254,3 +254,10 @@ disable spice_vmc_write(ssize_t out, int len) "spice wrottn %lu of requested %zd disable spice_vmc_read(int bytes, int len) "spice read %lu of requested %zd" disable spice_vmc_register_interface(void *scd) "spice vmc registered interface %p" disable spice_vmc_unregister_interface(void *scd) "spice vmc unregistered interface %p" + +# net.c +disable qemu_send_packet(void *vc, const uint8_t *buf, int size) "client-state: %p, buf %p size %d" + +#hw/rtl8139.c +disable rtl8139_transfer_frame(void *s, const uint8_t *buf, int size, int do_interrupt) "RTL8139State %p, buf %p size %d do_interrupt %d" +disable rtl8139_do_receive(void *s, const uint8_t *buf, int size, int do_interrupt) "client-state: %p, buf %p size %zu do_interrupt %d" ========================================================================= Signed-off-by: Rayson Ho Rayson On Wed, 2010-11-24 at 20:56 +0000, Stefan Hajnoczi wrote: > On Wed, Nov 24, 2010 at 7:22 PM, Rayson Ho wrote: > > I added a probe point for a conference demo, are you interested in > > adding it in? > > void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int > > size) > > { > > + trace_qemu_send_packet(buf, size); > > qemu_send_packet_async(vc, buf, size, NULL); > > } > > Cool, I recently talked to Prerna Saxena about improving tracing > coverage. The net subsystem is one of the areas where we need to add > trace events. > > Please include the VLANClientState *vc pointer in the trace so sent > packets can be correlated to their network clients. > > Want to send a patch to qemu-devel? > > Stefan