From: George Dunlap <george.dunlap@eu.citrix.com>
To: Don Slutz <dslutz@verizon.com>,
xen-devel@lists.xen.org, Jan Beulich <jbeulich@suse.com>,
Tim Deegan <tim@xen.org>
Cc: Keir Fraser <keir@xen.org>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [PATCH v2 2/2] xentrace: Add TRC_HVM_VCHIP
Date: Tue, 1 Apr 2014 14:23:11 +0100 [thread overview]
Message-ID: <533ABDBF.80603@eu.citrix.com> (raw)
In-Reply-To: <1396025767-3430-3-git-send-email-dslutz@verizon.com>
On 03/28/2014 04:56 PM, Don Slutz wrote:
> This add a set of trace events that track the setup of various
> virtual chips related to timers in domU.
>
> This set is hpet, pit (i8253, i8254), rtc (MC146818), apic (lapic),
> and pic (i8259). The pmtimer is not traced since it does not have a
> changeable rate.
>
> Signed-off-by: Don Slutz <dslutz@verizon.com>
> ---
> tools/xentrace/formats | 18 ++++++++++++++++++
> xen/arch/x86/hvm/hpet.c | 5 +++++
> xen/arch/x86/hvm/i8254.c | 9 +++++++++
> xen/arch/x86/hvm/rtc.c | 9 +++++++++
> xen/arch/x86/hvm/vlapic.c | 16 ++++++++++++++++
> xen/arch/x86/hvm/vpic.c | 11 +++++++++++
> xen/include/public/trace.h | 20 ++++++++++++++++++++
> 7 files changed, 88 insertions(+)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index 67fd42d..1d28e2a 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -152,3 +152,21 @@
> 0x00802006 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) assign_vector [ irq = %(1)d = vector 0x%(2)x, CPU mask: 0x%(3)08x ]
> 0x00802007 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) bogus_vector [ 0x%(1)x ]
> 0x00802008 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) do_irq [ irq = %(1)d, began = %(2)dus, ended = %(3)dus ]
> +
> +0x00084001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hpet create [ tn = %(1)d, irq = %(2)d, delta = %(3)d, period = %(4)d ]
> +0x00084002 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) pit create [ delta = %(1)d, period = %(2)d ]
> +0x00084003 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) rtc create [ delta = %(1)d, period = %(2)d ]
> +0x00084004 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vlapic create [ delta = %(1)d, period = %(2)d, irq = %(3)d ]
> +0x00084005 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hpet destroy [ tn = %(1)d ]
> +0x00084006 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) pit destroy [ ]
> +0x00084007 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) rtc destroy [ ]
> +0x00084008 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vlapic destroy [ ]
> +0x00084009 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) pit callback [ ]
> +0x0008400a CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vlapic callback [ ]
> +0x0008400b CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vpic_update_int_output [ int_output = %(1)d, is_master = %(2)d, irq = %(3)d ]
> +0x0008400c CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vpic vcpu_kick [ irq = %(1)d ]
> +0x0008400d CPU%(cpu)d %(tsc)d (+%(reltsc)8d) __vpic_intack [ is_master = %(1)d, irq = %(2)d ]
> +0x0008400e CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vpic_irq_positive_edge [ irq = %(1)d ]
> +0x0008400f CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vpic_irq_negative_edge [ irq = %(1)d ]
> +0x00084010 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vpic_ack_pending_irq [ accept_pic_intr = %(1)d, int_output = %(2)d ]
> +0x00084011 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) vlapic_accept_pic_intr [ i8259_target = %(1)d, accept_pic_int = %(2)d ]
> diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
> index e1e769a..bb6de72 100644
> --- a/xen/arch/x86/hvm/hpet.c
> +++ b/xen/arch/x86/hvm/hpet.c
> @@ -24,6 +24,7 @@
> #include <asm/hpet.h>
> #include <xen/sched.h>
> #include <xen/event.h>
> +#include <xen/trace.h>
>
> #define domain_vhpet(x) (&(x)->arch.hvm_domain.pl_time.vhpet)
> #define vcpu_vhpet(x) (domain_vhpet((x)->domain))
> @@ -191,6 +192,7 @@ static void hpet_stop_timer(HPETState *h, unsigned int tn)
> {
> ASSERT(tn < HPET_TIMER_NUM);
> ASSERT(spin_is_locked(&h->lock));
> + TRACE_1D(TRC_HVM_VCHIP_HPET_STOP_TIMER, tn);
> destroy_periodic_time(&h->pt[tn]);
> /* read the comparator to get it updated so a read while stopped will
> * return the expected value. */
> @@ -255,6 +257,9 @@ static void hpet_set_timer(HPETState *h, unsigned int tn)
> * being enabled (now).
> */
> oneshot = !timer_is_periodic(h, tn);
> + TRACE_4D(TRC_HVM_VCHIP_HPET_START_TIMER, tn, irq,
> + hpet_tick_to_ns(h, diff),
This will only be 32 bits wide; is there ever any risk that this may
exceed 4 seconds (4 billion nanoseconds)?
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index e2f60a6..410f0fe 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -52,6 +52,7 @@
> /* trace subclasses for SVM */
> #define TRC_HVM_ENTRYEXIT 0x00081000 /* VMENTRY and #VMEXIT */
> #define TRC_HVM_HANDLER 0x00082000 /* various HVM handlers */
> +#define TRC_HVM_VCHIP 0x00084000 /* virtual chips */
Maybe TRC_HVM_EMUL, for emulated devices?
-George
next prev parent reply other threads:[~2014-04-01 13:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 16:56 [PATCH v2 0/2] xentrace: Add TRC_HVM_VCHIP (was xentrace: Add TRC_HW_VCHIP) Don Slutz
2014-03-28 16:56 ` [PATCH v2 1/2] xentrace: Add emacs local variables Don Slutz
2014-04-01 9:16 ` George Dunlap
2014-04-01 21:42 ` Don Slutz
2014-03-28 16:56 ` [PATCH v2 2/2] xentrace: Add TRC_HVM_VCHIP Don Slutz
2014-04-01 13:23 ` George Dunlap [this message]
2014-04-01 17:42 ` Don Slutz
2014-04-03 10:36 ` Tim Deegan
2014-04-01 13:06 ` [PATCH v2 0/2] xentrace: Add TRC_HVM_VCHIP (was xentrace: Add TRC_HW_VCHIP) George Dunlap
2014-04-01 15:18 ` Don Slutz
2014-04-01 16:01 ` George Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=533ABDBF.80603@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=dslutz@verizon.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.