On Sun, Oct 24, 2010 at 07:01:30PM +0200, Avi Kivity wrote: > On 10/24/2010 04:49 PM, Gleb Natapov wrote: > >Add tracepoint for userspace exit. > > > > > >+ > >+TRACE_EVENT(kvm_userspace_exit, > >+ TP_PROTO(__u32 reason, int errno), > >+ TP_ARGS(reason, errno), > >+ > >+ TP_STRUCT__entry( > >+ __field( __u32, reason ) > >+ __field( int, errno ) > >+ ), > >+ > >+ TP_fast_assign( > >+ __entry->reason = reason; > >+ __entry->errno = errno; > > Shouldn't this be -errno? > I check for __entry->errno < 0 below to see if exit was due to an error. > >+ ), > >+ > >+ TP_printk("reason %s (%d)", > >+ __entry->errno< 0 ? > >+ (__entry->errno == -EINTR ? "restart" : "error") : > >+ __print_symbolic(__entry->reason, kvm_trace_exit_reason), > >+ __entry->errno< 0 ? -__entry->errno : __entry->reason) > >+); > >+ > > #if defined(__KVM_HAVE_IOAPIC) > > TRACE_EVENT(kvm_set_irq, > > TP_PROTO(unsigned int gsi, int level, int irq_source_id), > >diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > >index 361ad1a..88c42ae 100644 > >--- a/virt/kvm/kvm_main.c > >+++ b/virt/kvm/kvm_main.c > >@@ -1537,6 +1537,7 @@ static long kvm_vcpu_ioctl(struct file *filp, > > if (arg) > > goto out; > > r = kvm_arch_vcpu_ioctl_run(vcpu, vcpu->run); > >+ trace_kvm_userspace_exit(vcpu->run->exit_reason, r); > > break; > > -- > error compiling committee.c: too many arguments to function -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html