When kernel has to send MMIO writes to userspace, it stores them
in memory until it has to pass the hand to userspace for another
reason. This avoids to have too many context switches on operations
that can wait.
WITHOUT WITH
PATCH PATCH
iperf (e1000) 169 MB/s 185,5 MB/s +9,7%
host_state_reload (626594) (391825) -37%
[9,7% is a more realistic value than my previous benchmark]
boot XP
host_state_reload 764677 516059 -32%
VGA text scroll
host_state_reload 13280568 (6:15) 3608362 (4:42) -73% (-25%)
This is the userspace part of the MMIO batching functionality.
[PATCH 1/7] libkvm: delayed MMIO support (common part)
This patch introduces in libkvm the common part of MMIO batching
interface.
[PATCH 2/7] libkvm: delayed MMIO support (x86 part)
This patch enables MMIO batching for x86 architecture.
[PATCH 3/7] libkvm: delayed MMIO support (powerpc part)
This patch enables MMIO batching for powerpc architecture.
WARNING: this has not been tested.
[PATCH 4/7] libkvm: delayed MMIO support (ia64 part)
This patch enables MMIO batching for ia64 architecture.
WARNING: this has not been tested.
[PATCH 5/7] qemu: delayed MMIO support (core)
This patch introduces in qemu the MMIO batching.
[PATCH 6/7] qemu: delayed MMIO support (VGA)
This patch defines delayed MMIO zones for VGA cards.
[PATCH 7/7] qemu: delayed MMIO support (e1000)
This patch defines delayed MMIO zones for e1000 ethernet card.
Signed-off-by: Laurent Vivier <[EMAIL PROTECTED]>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html