From: David Vrabel <david.vrabel@citrix.com>
To: Vitaly Kuznetsov <vkuznets@redhat.com>, <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
Stefano Stabellini <sstabellini@kernel.org>, <x86@kernel.org>,
<linux-kernel@vger.kernel.org>,
Julien Grall <julien.grall@citrix.com>,
Ingo Molnar <mingo@redhat.com>,
"David Vrabel" <david.vrabel@citrix.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [Xen-devel] [PATCH linux 3/8] x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op
Date: Wed, 29 Jun 2016 13:26:24 +0100 [thread overview]
Message-ID: <5773BE70.2000802@citrix.com> (raw)
In-Reply-To: <1467132449-1030-4-git-send-email-vkuznets@redhat.com>
On 28/06/16 17:47, Vitaly Kuznetsov wrote:
> HYPERVISOR_vcpu_op passes Linux's idea of vCPU id as a parameter while
> Xen's idea is expected. In some cases these ideas diverge so we need to
> do remapping.
>
> There is an issue, however. PV guests do VCPUOP_is_up very early
> (see xen_fill_possible_map() and xen_filter_cpu_maps()) when we don't have
> perpu areas initialized. While it could be solved with switching to
> early_percpu for xen_vcpu_id I think it's not worth it: PV guests will
> probably never get to the point where their idea of vCPU id diverges from
> Xen's.
[...]
> static inline int
> HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args)
> {
> - return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
> + /*
> + * PV guests call HYPERVISOR_vcpu_op before percpu areas are
> + * initialized. As we always use direct mapping for vCPU ids
> + * for them we can simply use Linux vcpuid here.
> + */
> + return _hypercall3(int, vcpu_op, cmd,
> + per_cpu(xen_vcpu_id, vcpuid) != -1 ?
> + per_cpu(xen_vcpu_id, vcpuid) : vcpuid,
> + extra_args);
> }
HYPERVISOR_vcpu_op() should take Xen VCPUs, with the callers doing the
mapping.
David
next prev parent reply other threads:[~2016-06-29 12:26 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-28 16:47 [PATCH linux 0/8] xen: pvhvm: support bootup on secondary vCPUs Vitaly Kuznetsov
2016-06-28 16:47 ` [PATCH linux 1/8] x86/xen: update cpuid.h from Xen-4.7 Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 16:47 ` [PATCH linux 2/8] xen: introduce xen_vcpu_id mapping Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 17:28 ` [Xen-devel] " Andrew Cooper
2016-06-29 12:16 ` Vitaly Kuznetsov
2016-06-29 12:16 ` Vitaly Kuznetsov
2016-06-29 12:30 ` [Xen-devel] " Andrew Cooper
2016-06-29 12:50 ` Vitaly Kuznetsov
2016-06-29 12:50 ` [Xen-devel] " Vitaly Kuznetsov
2016-06-29 16:19 ` Vitaly Kuznetsov
2016-06-29 16:19 ` Vitaly Kuznetsov
2016-06-29 16:27 ` Andrew Cooper
2016-06-30 9:10 ` [Xen-devel] " Jan Beulich
2016-06-30 9:10 ` Jan Beulich
2016-07-01 12:06 ` [Xen-devel] " Vitaly Kuznetsov
2016-07-01 12:06 ` Vitaly Kuznetsov
2016-07-01 13:33 ` [Xen-devel] " Jan Beulich
2016-07-01 13:33 ` Jan Beulich
2016-07-05 15:34 ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-07-05 15:34 ` Konrad Rzeszutek Wilk
2016-07-05 15:44 ` Jan Beulich
2016-07-05 15:44 ` [Xen-devel] " Jan Beulich
2016-07-07 10:15 ` Joao Martins
2016-07-07 10:15 ` Joao Martins
2016-06-29 12:30 ` Andrew Cooper
2016-06-28 17:28 ` Andrew Cooper
2016-06-28 16:47 ` [PATCH linux 3/8] x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-29 12:26 ` David Vrabel
2016-06-29 12:26 ` David Vrabel [this message]
2016-06-28 16:47 ` [PATCH linux 4/8] x86/xen: use xen_vcpu_id mapping when pointing vcpu_info to the shared_info page Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-29 12:32 ` David Vrabel
2016-06-29 12:32 ` [Xen-devel] " David Vrabel
2016-06-28 16:47 ` [PATCH linux 5/8] xen/events: use xen_vcpu_id mapping in events_base Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 16:47 ` [PATCH linux 6/8] xen/events: fifo: use xen_vcpu_id mapping Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 16:47 ` [PATCH linux 7/8] xen/evtchn: " Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 16:47 ` [PATCH linux 8/8] xen/pvhvm: run xen_vcpu_setup() for the boot CPU Vitaly Kuznetsov
2016-06-28 16:47 ` Vitaly Kuznetsov
2016-06-28 17:32 ` [PATCH linux 0/8] xen: pvhvm: support bootup on secondary vCPUs David Vrabel
2016-06-29 9:16 ` Vitaly Kuznetsov
2016-06-29 9:16 ` Vitaly Kuznetsov
2016-06-29 12:36 ` David Vrabel
2016-07-01 9:24 ` Vitaly Kuznetsov
2016-07-01 9:24 ` Vitaly Kuznetsov
2016-06-29 12:36 ` David Vrabel
2016-06-28 17:32 ` David Vrabel
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=5773BE70.2000802@citrix.com \
--to=david.vrabel@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=julien.grall@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=sstabellini@kernel.org \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.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.