Il 11/11/2013 17:40, Michael S. Tsirkin ha scritto: > At the moment, exec ignores high bits in each address, > for efficiency. > This is incorrect: devices can do full 64 bit DMA, it's > only the CPU that is limited by target address space. > Using full 64 bit addresses was clocked at 12% performance > hit on a microbenchmark. > To solve, teach pagetables to skip bits at any level > and not just the lowest level. > > This should solve the performance problem (only one line > of code changed on the data path). > I'm still trying to figure out how to measure speed > properly with TCG, sending this out for early feedback and flames.
I used this: x86_64-softmmu/qemu-system-x86_64 -kernel ../../kvm-unit-tests/x86/vmexit.flat -serial stdio -device isa-debug-exit,iobase=0xf4 with only one test enabled (I tried both inl_from_qemu and inl_from_pmtimer) and with roughly the same inlining of the "inb %dx, %al" instruction that you suggested earlier on the mailing list. Paolo