[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] How to measure guest memory access (qemu_ld/qemu_st) ti
Re: [Qemu-devel] How to measure guest memory access (qemu_ld/qemu_st) time?
Mon, 18 Jun 2012 04:59:25 +0000 (GMT)
> The idea looks nice, but instead of different TLB functions selected
> at configure time, the optimization should be enabled by default.
> Maybe a 'call' instruction could be used to jump to the slow path,
> that way the slow path could be shared.
I had considered the approach of sharing slow path, actually argument settings
for ld/st helper functions.
However, the problem is that we don't know which runtime registers having
There are three possible solutions for sharing, I think.
1. Using code stub table including all the possible argument register
2. Using register information flag constant generated at TCG time, and a
special stub which parsing the flag and setting the arguments
3. Setting the arguments commonly for fast and slow paths, which needs
additional stack or register cleanup for fast path
I think the solution #2 looks better for performance, however, it could be
implemented using jump and assembly because using call could come together with
unwanted code and register clobber by the prolog of callee.
But it might be painful of implementing the parsing stub using assembly (or
code generation). It is the weak point of solution #2.
How do you think about it?
S-Core Co., Ltd.