On 04/13/2011 05:09 PM, Jan Kiszka wrote:
Hi Xiao, while tracing a guest with all events enabled, I notices some issues with kvm mmu instrumentations. A critical one: TRACE_EVENT( kvm_mmu_audit, TP_PROTO(struct kvm_vcpu *vcpu, int audit_point), TP_ARGS(vcpu, audit_point), TP_STRUCT__entry( __field(struct kvm_vcpu *, vcpu) __field(int, audit_point) ), TP_fast_assign( __entry->vcpu = vcpu; __entry->audit_point = audit_point; ), TP_printk("vcpu:%d %s", __entry->vcpu->cpu, audit_point_name[__entry->audit_point]) ); Saving the vcpu reference to the trace buffer can break on dump if the vcpu was destroyed in the meantime. I was about to fix that by saving vcpu->cpu instead, but then I wondered what kind of information you actually need here. The triggering host cpu is automatically recorded by ftrace anyway. Can you comment on this / clean it up? Also, it would be nice to use __print_symbolic for translating audit_point to a string as that would also work for trace-cmd/kernelshark.
IIRC the audit trace is only used to get a low cost invocation for the audit machinery; it's not actually useful as a user tracepoint.
We should probably switch to static_branch() instead (https://lwn.net/Articles/429447/).
-- error compiling committee.c: too many arguments to function -- 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