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

Re: [Xen-devel] [PATCH] xen/vcpu: Sanitise VCPUOP_initialise call hierachy

On Fri, 15 Nov 2019, 18:13 Andrew Cooper, <andrew.cooper3@xxxxxxxxxx> wrote:
On 31/10/2019 21:25, Julien Grall wrote:
> Hi,
> On 31/10/2019 19:28, Andrew Cooper wrote:
>> This code is especially tangled.  VCPUOP_initialise calls into
>> arch_initialise_vcpu() which calls back into default_initialise_vcpu() which
>> is common code.
>> This path is actually dead code on ARM, because VCPUOP_initialise is filtered
>> out by do_arm_vcpu_op().
>> The only valid way to start a secondary CPU on ARM is via the PSCI interface.
>> The same could in principle be said about INIT-SIPI-SIPI for x86 HVM, if HVM
>> guests hadn't already interited a paravirt way of starting CPUs.
>> Either way, it is quite likely that no future architectures implemented in Xen
>> are going to want to use a PV interface, as some standardised (v)CPU bringup
>> mechanism will already exist.
> I am not sure I agree here. Looking at Linux RISCv code (see [1] and
> [2]), it looks like the kernel has to deal with selecting one "lucky"
> CPU/hart to deal with the boot and park all the others.
> So it looks like to me there are nothing at the moment on RISCv to do
> (v)CPU bring-up. We might be able to use PSCI (although this is an ARM
> specific way), but would rather wait and see what RISCv folks come up
> with before deciding PV is never going to be used.

Nothing here prohibits other architectures from using a PV interface if
they wish.

Well, your commit message and the code movement implies that nobody will ever use it.

However, your examples prove my point.  There is an already-agreed way
to start RISCv CPUs which is not a PV interface, and therefore is very
unlikely to adopted to run differently under Xen.

I would not call that a way to start CPUs because AFAICT all CPUs have to be brought up together and you can't offline them. This is fairly restrictive for a guest so I don't think reusing it would sustainable long term.

FWIW, this is exactly what Arm used to have before PSCI.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.