From: Avi Kivity <avi@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Marcelo Tossati <mtosatti@redhat.com>,
Carsten Otte <cotte@de.ibm.com>, Alexander Graf <agraf@suse.de>,
Jens Freimann <jfrei@linux.vnet.ibm.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
KVM <kvm@vger.kernel.org>
Subject: Re: [patch 1/3] kvm: provide synchronous registers in kvm_run
Date: Thu, 22 Dec 2011 14:28:19 +0200 [thread overview]
Message-ID: <4EF32263.5050605@redhat.com> (raw)
In-Reply-To: <20111222120054.145183940@de.ibm.com>
On 12/22/2011 01:56 PM, Christian Borntraeger wrote:
> From: Christian Borntraeger <borntraeger@de.ibm.com>
>
> On some cpus the overhead for virtualization instructions is in the same
> range as a system call. Having to call multiple ioctls to get set registers
> will make userspace handled exits more expensive than necessary.
> Lets provide two sections in kvm_run to have a shared save area for
> guest registers.
> 1. the first section is read-only, to handle registers that have side-effects
> 2. the second section is read/write, e.g. for general purpose registers.
An alternative is to have a single section, with a bitmask set by
userspace to indicate which registers have not been changed (a la svm's
CleanBits). Is this worthwhile for s390?
> };
> + /* Here are two fields that allow to access often used registers
> + * directly, to avoid the overhead of the ioctl system call */
> + union {
> + /* registers which can be only read */
> + struct sync_ro_regs sync_ro_regs;
kvm_
> + char padding[1024];
> + };
> + union {
> + /* read/write guest registers */
> + struct sync_rw_regs sync_rw_regs;
kvm_
> + char padding[1024];
> + };
> };
blank line
> +These fields allow userspace to access certain guest registers without
> +having to call SET/GET_*REGS. Thus we can avoid some system call
> +overhead if userspace has to handle the exit. (only available if
> +KVM_CAP_SYNC_REGS is set). The ioctls will still work.
>
>
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2011-12-22 12:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-22 11:56 [patch 0/3] RFC: provide synchronous registers in kvm_run Christian Borntraeger
2011-12-22 11:56 ` [patch 1/3] kvm: " Christian Borntraeger
2011-12-22 12:28 ` Avi Kivity [this message]
2012-01-09 12:59 ` Alexander Graf
2011-12-22 11:56 ` [patch 2/3] kvm-s390: provide the prefix register via kvm_run Christian Borntraeger
2011-12-22 11:56 ` [patch 3/3] kvm-s390: provide general purpose registers " Christian Borntraeger
2011-12-22 12:34 ` Avi Kivity
2011-12-22 12:39 ` Christian Borntraeger
2011-12-22 12:46 ` Avi Kivity
2011-12-22 12:41 ` Heiko Carstens
2011-12-22 12:47 ` Avi Kivity
2011-12-22 12:35 ` [patch 0/3] RFC: provide synchronous registers in kvm_run Avi Kivity
2011-12-22 12:49 ` Christian Borntraeger
2011-12-22 12:54 ` Avi Kivity
2011-12-22 13:17 ` Christian Borntraeger
2011-12-22 13:25 ` Avi Kivity
[not found] ` <1325605858-30492-1-git-send-email-borntraeger@de.ibm.com>
[not found] ` <1325605858-30492-4-git-send-email-borntraeger@de.ibm.com>
2012-01-04 8:16 ` [PATCH 3/3] kvm-s390: provide standard guest registers via kvm_run Heiko Carstens
2012-01-04 8:30 ` Christian Borntraeger
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=4EF32263.5050605@redhat.com \
--to=avi@redhat.com \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=cotte@de.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jfrei@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=schwidefsky@de.ibm.com \
/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.