On 11/06/2009 02:29 AM, Anthony Liguori wrote:
Helpers are really bad. On launch, I find the fragile and hard to do proper error handling with (but that's probably just me). But the real problem is at runtime, if you have a 16GB guest then you have to write-protect 4M ptes and then kvm has to tear down or write protect (not sure which mmu notifier is called) 4M shadow ptes. Once that's done, the guest will have to fault its way back; that's at least 4M exits, around 10 seconds worth of cpu time to execute a couple of syscalls.


FWIW, with large pages, it's only 8k exits which comes out to about 16ms. If nothing else, it's an argument for the important of transparent large pages.


No, it's an argument against fork() of large programs. Transparent large pages are very important for performance, but speeding up fork() of large programs is not one of their reasons for existence.

In any case we don't have them yet. Will you recommend people avoid hotplug until we have transparent large pages? And check that the qemu is actually using them (they'll be best effort, not a guarantee) before hotplug?

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



Reply via email to