On 04/21/2010 09:50 PM, Gerhard Wiesinger wrote:
I don't think changing VGA window is a problem because there are
500.000-1Mio changes/s possible.
1MB/s, 500k-1M changes/s.... Coincidence? Is it taking a page fault
or trap on every write?
To clarify:
Memory Performance writing to segmen A000 is about 1MB/st.
That indicates a fault every write (assuming 8-16 bit writes). If
you're using 256 color vga and not switching banks, this indicates a bug.
Calling INT 10 set/get window function with different windows (e.g.
toggling between window page 0 and 1) is about 500.000 to 1Mio
function calls per second.
That's suprisingly fast. I'd expect 100-200k/sec.
Please run kvm_stat and report output for both tests to confirm.
To get real good VGA performance both parameters should be:
About >50MB/s for writes to segment A000
~500.000 bank switches per second.
First should be doable easily, second is borderline.
I think this is very easy to distingish:
1.) VGA Segment A000 is legacy and should be handled through QEMU and
not through KVM (because it is much more faster). Also 16 color modes
should be fast enough there.
2.) All other flat PCI memory accesses should be handled through KVM
(there is a specialized driver loaded for that PCI device in the non
legacy OS).
Is that easily possible?
No. Code can run in either qemu or kvm, not both. You can switch
between them based on access statistics (early versions of qemu-kvm did
that, without the statistics part), but this isn't trivial.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html