From: Avi Kivity <avi@redhat.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: kvm-devel <kvm@vger.kernel.org>
Subject: Re: Heads up: More user-unaccessible x86 states?
Date: Mon, 05 Oct 2009 10:55:44 +0200 [thread overview]
Message-ID: <4AC9B490.5020502@redhat.com> (raw)
In-Reply-To: <4AC9A395.5010609@web.de>
On 10/05/2009 09:43 AM, Jan Kiszka wrote:
> Avi Kivity wrote:
>
>> On 10/04/2009 09:07 PM, Jan Kiszka wrote:
>>
>>>> btw, instead of adding a new ioctl, perhaps it makes sense to define a
>>>> new KVM_VCPU_STATE structure that holds all current and future state
>>>> (with generous reserved space), instead of separating state over a dozen
>>>> ioctls.
>>>>
>>>>
>>>>
>>> OK, makes sense. With our without lapic state?
>>>
>> I'm in two minds. I'm leaning towards including lapic but would welcome
>> arguments either way.
>>
> The lapic is optional and, thus, typically handled in different code
> modules by user space. QEMU even creates a separate device that holds
> the state.
avx registers, nested vmx are optional as well.
> I'm not sure user space will benefit from a unified query/set
> interface with regard to this.
>
The main benefit is to avoid creating an ioctl each time we find a
missing bit.
>> Note we have to be careful with timers such as the tsc and lapic timer.
>> Maybe have a bitmask at the front specifying which elements are active.
>>
> ...and the lapic timers are another argument.
>
> Regarding TSC, which means MSRs: I tend to include only states into the
> this meta state which have fixed sizes. Otherwise things will get very
> hairy. And the GET/SET_MSRS interface is already fairly flexible, the
> question would be again: What can we gain by unifying?
>
For MSRs, not much.
Note we can make it work, by storing an offset/length at a fixed
location and letting userspace point it into the reserved area.
>>> How much "future space"?
>>>
>>>
>> avx will change the sse registers from 16x16 to 16x32, with a hint of
>> more to come. Nested vmx needs the vmptr and some more bits. MSRs are
>> potentially endless. Lots of space.
>>
>>
> Hmm, a some kB then (even without MSRs)...
>
Yup, it's amazing how much state modern processors hold.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2009-10-05 8:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4AC86404.3090209@web.de>
[not found] ` <4AC87299.4040508@redhat.com>
[not found] ` <4AC87E08.5070908@web.de>
[not found] ` <4AC88BF2.7080200@redhat.com>
2009-10-04 19:07 ` Heads up: More user-unaccessible x86 states? Jan Kiszka
2009-10-05 6:18 ` Avi Kivity
2009-10-05 7:43 ` Jan Kiszka
2009-10-05 8:55 ` Avi Kivity [this message]
2009-10-05 11:18 ` Jan Kiszka
2009-10-05 12:05 ` Avi Kivity
2009-10-05 12:18 ` Jan Kiszka
2009-10-05 12:34 ` Avi Kivity
2009-10-05 12:42 ` Jan Kiszka
2009-10-05 12:55 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AC9B490.5020502@redhat.com \
--to=avi@redhat.com \
--cc=jan.kiszka@web.de \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.