Marcelo Tosatti wrote: > On Thu, May 07, 2009 at 08:35:03PM -0300, Marcelo Tosatti wrote: > >> Also for PIO/MMIO you're adding this unoptimized lookup to the >> measurement: >> >> pio_dev = vcpu_find_pio_dev(vcpu, port, size, !in); >> if (pio_dev) { >> kernel_pio(pio_dev, vcpu, vcpu->arch.pio_data); >> complete_pio(vcpu); >> return 1; >> } >> >> Whereas for hypercall measurement you don't. I believe a fair comparison >> would be have a shared guest/host memory area where you store guest/host >> TSC values and then do, on guest: >> >> rdtscll(&shared_area->guest_tsc); >> pio/mmio/hypercall >> ... back to host >> rdtscll(&shared_area->host_tsc); >> >> And then calculate the difference (minus guests TSC_OFFSET of course)? >> > > Test Machine: Dell Precision 490 - 4-way SMP (2x2) x86_64 "Woodcrest" > Core2 Xeon 5130 @2.00Ghz, 4GB RAM. > > Also it would be interesting to see the MMIO comparison with EPT/NPT, > it probably sucks much less than what you're seeing. > > Agreed. If you or someone on this thread has such a beast, please fire up my test and post the numbers. -Greg
Attachment:
signature.asc
Description: OpenPGP digital signature