Re: [PATCH 4/5] KVM: Add hypercall queue for paravirt_ops implementation

Avi Kivity
2007-06-18T09:07:19Z

Anthony Liguori wrote:

> Implemented a hypercall queue that can be used when paravirt_ops lazy mode
> is enabled. This patch enables queueing of MMU write operations and CR
> updates. This results in about a 50% bump in kernbench performance.
>

Nice! But 50%? a kernel build is at native-25%, so we're now 25% faster
than native?

> + state->vmca->queue_gpa = __pa(state->queue);
> + state->vmca->max_queue_index
> + = (PAGE_SIZE / sizeof(struct kvm_hypercall_entry));
>

Why not pass the queue address as an argument to KVM_HYPERCALL_FLUSH?
That reduces the amount of setup, and allows more flexibility (e.g.
multiple queues).

I'm not thrilled with having queues of hypercalls; instead I'd prefer
queues of mmu operations, but I guess it won't do any good to go against
prevailing custom here.

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