qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 086/126] target-s390: Convert CLST, MVST


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 086/126] target-s390: Convert CLST, MVST
Date: Tue, 18 Sep 2012 23:04:30 +0200
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0

On 09/11/2012 11:09 PM, Richard Henderson wrote:
On 09/11/2012 12:11 PM, Blue Swirl wrote:
PSW_MASK_64 bit could be added to TB flags and that could be checked
during translation, then the mask needs to be applied only when the
mode is active. Whether that actually improves performance depends on
how often the bit is changed. Also all PSW writes need to be handled,
possibly causing a TB flush.
Actually I'm not sure why we check this at all, given that we only
actually handle 64-bit mode -- at least as documented by the code
implementing the SET ADDRESS MODE instruction.

For kernel code, we only support 64 bit mode, yes. But for user space code, we need to support 31-bit mode to enable Debian to work. They still run all user space in 31-bit mode.

That said, we do encode the bit in TB flags, and we do perform this
masking for qemu loads performed within the TB.  No TB flushes are
required because we simply don't match TBs with different flags.

As for clst, mvst, srst, I thought about performing the masking in
the TB, but didn't figure it was worth it.  Do you have an opinion, Alex?

I don't know if it's worth it either. When calling anything with address parameters we already need to save off all registers to env, since we could take a page fault any time. So moving code into TCG context shouldn't improve anything performance wise.


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]