Re: [PATCH] kvm: log directly from the guest to the host kvm buffer

From: Avi Kivity
Date: Thu May 12 2011 - 11:43:08 EST


On 05/12/2011 06:39 PM, Dhaval Giani wrote:
>
> I think that one hypercall per trace is too expensive. Tracing is meant to
> be lightweight! I think the guest can log to a buffer, which is flushed on
> overflow or when a vmexit occurs. That gives us automatic serialization
> between a vcpu and the cpu it runs on, but not between a vcpu and a
> different host cpu.
>

hmm. So, basically, log all of these events, and then send them to the
host either on an exit, or when your buffer fills up. There is one
problem with approach though. One of the reasons I wanted this
approach was beacuse i wanted to co-relate the guest and the host
times. (which is why I kept is synchronous). I lose out that
information with what you say. However I see your point about the
overhead. I will think about this a bit more.

You might use kvmclock to get a zero-exit (but not zero-cost) time which can be correlated.

Another option is to use xadd on a shared memory area to have a global counter incremented. However that can be slow on large machines, and is hard to do securely with multiple guests.


--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/