On 28 June 2012 15:35, Peter Maydell <peter.mayd...@linaro.org> wrote: > It's possible that making target_phys_addr_t 64 bits for > all ARM cores might be a slight slowdown (though only in > system mode, and not in the fast path of a TLB hit for a > RAM access). Benchmarking this is on my todo list, but I wanted > to put the patchset out for review to start with.
I've now done some (slightly quick-and-dirty) benchmarking. Test 1 was a vexpress-a9 ARM guest booting Linux (linaro 1108 nano) to root login and immediate shutdown. There was basically no difference in time between with-64-bit-physaddrs and without, on either i386 or x86 host (ie the ~0.5s between run variation on a 45s test was more than the 64-vs-32 variation). Test 2 involved running a popular embedded benchmark in system mode (again, vexpress-a9 linaro 1108 nano guest). I compiled the benchmark -O3 -DNDEBUG -mfloat-abi=soft, which means we're looking at integer code running inside QEMU rather than testing the speed of the softfloat fpu emulation. A few of the benchmarks actually claimed to run quicker with 64 bit physaddrs, most were within 0.5% or so of the 32 bit runs. Again, about the same for both i386 and x86-64 guest. So overall my best estimate is that this change is a measurable but pretty insignificant slowdown (~0.5% or so). I think that's worth taking to allow LPAE guests to get at more than 4GB of RAM. -- PMM