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
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/