From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Julien Grall <julien.grall@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
x86@kernel.org, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
David Vrabel <david.vrabel@citrix.com>,
Juergen Gross <jgross@suse.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Jan Beulich <JBeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Steve Capper <Steve.Capper@arm.com>, Wei Chen <Wei.Chen@arm.com>,
Kaly Xin <Kaly.Xin@arm.com>
Subject: Re: [PATCH linux v3 3/9] xen: introduce xen_vcpu_id mapping
Date: Wed, 07 Sep 2016 13:23:41 +0200 [thread overview]
Message-ID: <878tv4t0le.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <beb1a4d7-0737-049a-4e74-5c6a95fe8b43@arm.com> (Julien Grall's message of "Wed, 7 Sep 2016 10:35:19 +0100")
Julien Grall <julien.grall@arm.com> writes:
> Hi Vitaly,
>
> On 07/09/2016 10:07, Vitaly Kuznetsov wrote:
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>> I don't know that much about cpuid, but the virtual MPIDR is constructed
>>> from the vcpu id right now:
>>>
>>> v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
>>>
>>> [...]
>>>
>>> static inline register_t vcpuid_to_vaffinity(unsigned int vcpuid)
>>> {
>>> register_t vaff;
>>>
>>> vaff = (vcpuid & 0x0f) << MPIDR_LEVEL_SHIFT(0);
>>> vaff |= ((vcpuid >> 4) & MPIDR_LEVEL_MASK) << MPIDR_LEVEL_SHIFT(1);
>>>
>>> return vaff;
>>> }
>>
>> This could work but only in case there is a way to get MPIDR for _other_
>> cpu (e.g. CPU0 needs to get MPIDR of CPU1 when CPU1 is not yet runnning)
>> or we'll have to change the machinery of how we bring up secondary CPUs
>> - e.g. CPUn starts, writes its id somewhere and 'hangs' waiting for CPU0
>> to set up event channels.
>
> You can get the MPIDR from both the device tree and ACPI. The firmware
> table is parsed at boot time and the value is stored in
> cpu_logical_map().
Good,
in this case we can easily do the same trick we did for x86 and we
don't need to change the way secondary CPUs are strarted.
BTW, were you able to try the patch I suggested? In my opinion it would
be preferable to fix the immediate SMP issue now and play with MPIDR
info later.
>
> Regards,
--
Vitaly
next prev parent reply other threads:[~2016-09-07 11:23 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-26 12:30 [PATCH linux v3 0/9] xen: pvhvm: support bootup on secondary vCPUs Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 1/9] x86/xen: update cpuid.h from Xen-4.7 Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 2/9] x86/acpi: store ACPI ids from MADT for future usage Vitaly Kuznetsov
2017-03-01 19:54 ` Thomas Gleixner
2017-03-01 19:54 ` Thomas Gleixner
2017-03-01 22:04 ` Boris Ostrovsky
2017-03-01 22:04 ` Boris Ostrovsky
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 3/9] xen: introduce xen_vcpu_id mapping Vitaly Kuznetsov
2016-09-02 15:29 ` Julien Grall
2016-09-02 15:29 ` Julien Grall
2016-09-04 21:12 ` Boris Ostrovsky
2016-09-04 21:12 ` Boris Ostrovsky
2016-09-05 9:42 ` Vitaly Kuznetsov
2016-09-05 19:20 ` Stefano Stabellini
2016-09-06 8:31 ` Vitaly Kuznetsov
2016-09-06 8:31 ` Vitaly Kuznetsov
2016-09-06 18:09 ` Stefano Stabellini
2016-09-07 9:07 ` Vitaly Kuznetsov
2016-09-07 9:10 ` David Vrabel
2016-09-07 9:10 ` David Vrabel
2016-09-07 9:35 ` Julien Grall
2016-09-07 9:35 ` Julien Grall
2016-09-07 11:23 ` Vitaly Kuznetsov [this message]
2016-09-07 12:55 ` Julien Grall
2016-09-07 12:55 ` Julien Grall
2016-09-07 11:23 ` Vitaly Kuznetsov
2016-09-07 9:07 ` Vitaly Kuznetsov
2016-09-06 18:09 ` Stefano Stabellini
2016-09-05 19:20 ` Stefano Stabellini
2016-09-08 6:29 ` Wei Chen
2016-09-08 6:29 ` Wei Chen
2016-09-05 9:42 ` Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 4/9] x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 5/9] x86/xen: use xen_vcpu_id mapping when pointing vcpu_info to the shared_info page Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 6/9] xen/events: use xen_vcpu_id mapping in events_base Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 7/9] xen/events: fifo: use xen_vcpu_id mapping Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 8/9] xen/evtchn: " Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 12:30 ` [PATCH linux v3 9/9] xen/pvhvm: run xen_vcpu_setup() for the boot CPU Vitaly Kuznetsov
2016-07-26 12:30 ` Vitaly Kuznetsov
2016-07-26 13:02 ` [Xen-devel] [PATCH linux v3 0/9] xen: pvhvm: support bootup on secondary vCPUs David Vrabel
2016-07-26 13:19 ` Vitaly Kuznetsov
2016-07-26 13:19 ` [Xen-devel] " Vitaly Kuznetsov
2016-07-26 17:36 ` Stefano Stabellini
2016-07-27 9:11 ` Vitaly Kuznetsov
2016-07-27 9:11 ` Vitaly Kuznetsov
2016-07-26 17:36 ` Stefano Stabellini
2016-07-26 13:02 ` 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=878tv4t0le.fsf@vitty.brq.redhat.com \
--to=vkuznets@redhat.com \
--cc=JBeulich@suse.com \
--cc=Kaly.Xin@arm.com \
--cc=Steve.Capper@arm.com \
--cc=Wei.Chen@arm.com \
--cc=andrew.cooper3@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=julien.grall@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=sstabellini@kernel.org \
--cc=tglx@linutronix.de \
--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.