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

Reply via email to