Re: [PATCH 1/7] KVM: userspace interface

From: Avi Kivity
Date: Fri Oct 20 2006 - 03:43:03 EST


Anthony Liguori wrote:

writel(dst_x_reg, x);
writel(dst_y_reg, y)
writel(width_reg, w);
writel(height_reg, h);
writel(blt_cmd_reg, fill);

then kvm would cache the first four in a mmap()able memory area and only exit to userspace on the fifth. Userspace would then read the cached registers from memory and emulate the command.

Letting QEMU do a certain amount of emulation after every transition would the problem in a more elegant and generic way.


But what amount? A basic block, or several?

Emulation has its costs. You need to marshal the registers to and fro. You need to reset qemu's cached translations. You need to throw away shadow page tables and qemu's softmmu. You increase the time spent in single threaded code.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

-
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/