All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	"Chalamarla,
	Tirumalesh" <Tirumalesh.Chalamarla@caviumnetworks.com>,
	kvm-devel <kvm@vger.kernel.org>,
	"timur@codeaurora.org" <timur@codeaurora.org>,
	"vgandhi@codeaurora.org" <vgandhi@codeaurora.org>,
	"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] arm64/kvm: Add generic v8 KVM target
Date: Fri, 17 Jul 2015 11:19:50 +0100	[thread overview]
Message-ID: <55A8D6C6.3090907@arm.com> (raw)
In-Reply-To: <20150717101533.GL14024@cbox>

On 17/07/15 11:15, Christoffer Dall wrote:
> On Fri, Jul 17, 2015 at 10:56:39AM +0100, Marc Zyngier wrote:
>> On 17/07/15 10:33, Christoffer Dall wrote:
>>> On Fri, Jul 03, 2015 at 11:10:09AM +0100, Marc Zyngier wrote:
>>>> On 03/07/15 10:34, Peter Maydell wrote:
>>>>> On 3 July 2015 at 09:28, Marc Zyngier <marc.zyngier@arm.com> wrote:
>>>>>> On 03/07/15 09:12, Peter Maydell wrote:
>>>>>>> I would still like to see the proponents of this patch say
>>>>>>> what their model is for userspace support of cross-host migration,
>>>>>>> if we're abandoning the model the current API envisages.
>>>>>>
>>>>>> I thought we had discussed this above, and don't really see this as a
>>>>>> departure from the current model:
>>>>>>
>>>>>> - "-cpu host" results in "GENERIC" being used: VM can only be migrated
>>>>>> to the exact same HW (no cross-host migration). MIDR should probably
>>>>>> become RO.
>>>>>> - "-cpu host" results in "A57" (for example): VM can be migrated to a
>>>>>> variety of A57 platforms, and allow for some fuzzing on the revision (or
>>>>>> accept any revision).
>>>>>> - "-cpu a57" forces an A57 model to be emulated, always. It is always
>>>>>> possible to migrate such a VM on any host.
>>>>>>
>>>>>> I think only the first point is new, but the last two are what we have
>>>>>> (or what we should have).
>>>>>
>>>>> Right, but the implicit idea of this GENERIC patch seems to
>>>>> be that new host CPU types don't get their own KVM_ARM_TARGET_*
>>>>> constant, and are thus forever unable to do cross-host migration.
>>>>> It's not clear to me why we'd want to have new CPUs be second
>>>>> class citizens like that.
>>>>
>>>> I certainly don't want to see *any* CPU be a second class citizen. But
>>>> let's face it, we're adding more and more targets that don't implement
>>>> anything new, and just satisfy themselves with the generic implementation.
>>>>
>>>> I see it as an incentive to provide something useful (tables of all the
>>>> registers with default values?) so that cross-host migration becomes a
>>>> reality instead of the figment of our imagination (as it is now). If it
>>>> wasn't already ABI, I'd have removed the existing targets until we have
>>>> something meaningful to put there.
>>>
>>> What we're doing now certainly seems silly, because we're adding kernel
>>> patches without bringing anything to the table...
>>>
>>>>
>>>> Now, I also have my own doubts about cross-host migration (timers
>>>> anyone?). But I don't see the above as a change in policy. More as a way
>>>> to outline the fact that we currently don't have the right level of
>>>> information/infrastructure to support it at all.
>>>>
>>> The one thing that I've lost track of here (sorry) is whether we're
>>> enforcing the inability to do cross-host migration with the generic
>>> target when this patch is merged or do we leave this up to the graces of
>>> userspace?
>>
>> The jury is still out on that one.
>>
>> I was initially not going to enforce anything (after all, this isn't
>> that different from the whole CNTVOFF story where we allow userspace to
>> shoot itself in the foot), but I'm equally happy to make MIDR_EL1
>> read-only if we're creating a generic guest...
>>
> Looking at the code, midr_el1 is already an invariant register, so isn't
> this automagically enforced already?

Ah, you're perfectly right, I has already in that fantasy world where we
can actually migrate VMs across implementations.

> In that case, I'm fine with merging this patch.

Cool. I'll queue that for 4.3.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64/kvm: Add generic v8 KVM target
Date: Fri, 17 Jul 2015 11:19:50 +0100	[thread overview]
Message-ID: <55A8D6C6.3090907@arm.com> (raw)
In-Reply-To: <20150717101533.GL14024@cbox>

On 17/07/15 11:15, Christoffer Dall wrote:
> On Fri, Jul 17, 2015 at 10:56:39AM +0100, Marc Zyngier wrote:
>> On 17/07/15 10:33, Christoffer Dall wrote:
>>> On Fri, Jul 03, 2015 at 11:10:09AM +0100, Marc Zyngier wrote:
>>>> On 03/07/15 10:34, Peter Maydell wrote:
>>>>> On 3 July 2015 at 09:28, Marc Zyngier <marc.zyngier@arm.com> wrote:
>>>>>> On 03/07/15 09:12, Peter Maydell wrote:
>>>>>>> I would still like to see the proponents of this patch say
>>>>>>> what their model is for userspace support of cross-host migration,
>>>>>>> if we're abandoning the model the current API envisages.
>>>>>>
>>>>>> I thought we had discussed this above, and don't really see this as a
>>>>>> departure from the current model:
>>>>>>
>>>>>> - "-cpu host" results in "GENERIC" being used: VM can only be migrated
>>>>>> to the exact same HW (no cross-host migration). MIDR should probably
>>>>>> become RO.
>>>>>> - "-cpu host" results in "A57" (for example): VM can be migrated to a
>>>>>> variety of A57 platforms, and allow for some fuzzing on the revision (or
>>>>>> accept any revision).
>>>>>> - "-cpu a57" forces an A57 model to be emulated, always. It is always
>>>>>> possible to migrate such a VM on any host.
>>>>>>
>>>>>> I think only the first point is new, but the last two are what we have
>>>>>> (or what we should have).
>>>>>
>>>>> Right, but the implicit idea of this GENERIC patch seems to
>>>>> be that new host CPU types don't get their own KVM_ARM_TARGET_*
>>>>> constant, and are thus forever unable to do cross-host migration.
>>>>> It's not clear to me why we'd want to have new CPUs be second
>>>>> class citizens like that.
>>>>
>>>> I certainly don't want to see *any* CPU be a second class citizen. But
>>>> let's face it, we're adding more and more targets that don't implement
>>>> anything new, and just satisfy themselves with the generic implementation.
>>>>
>>>> I see it as an incentive to provide something useful (tables of all the
>>>> registers with default values?) so that cross-host migration becomes a
>>>> reality instead of the figment of our imagination (as it is now). If it
>>>> wasn't already ABI, I'd have removed the existing targets until we have
>>>> something meaningful to put there.
>>>
>>> What we're doing now certainly seems silly, because we're adding kernel
>>> patches without bringing anything to the table...
>>>
>>>>
>>>> Now, I also have my own doubts about cross-host migration (timers
>>>> anyone?). But I don't see the above as a change in policy. More as a way
>>>> to outline the fact that we currently don't have the right level of
>>>> information/infrastructure to support it at all.
>>>>
>>> The one thing that I've lost track of here (sorry) is whether we're
>>> enforcing the inability to do cross-host migration with the generic
>>> target when this patch is merged or do we leave this up to the graces of
>>> userspace?
>>
>> The jury is still out on that one.
>>
>> I was initially not going to enforce anything (after all, this isn't
>> that different from the whole CNTVOFF story where we allow userspace to
>> shoot itself in the foot), but I'm equally happy to make MIDR_EL1
>> read-only if we're creating a generic guest...
>>
> Looking at the code, midr_el1 is already an invariant register, so isn't
> this automagically enforced already?

Ah, you're perfectly right, I has already in that fantasy world where we
can actually migrate VMs across implementations.

> In that case, I'm fine with merging this patch.

Cool. I'll queue that for 4.3.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2015-07-17 10:19 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17  9:00 [PATCH] arm64/kvm: Add generic v8 KVM target Suzuki K. Poulose
2015-06-17  9:00 ` Suzuki K. Poulose
2015-06-19 20:31 ` Timur Tabi
2015-06-19 20:31   ` Timur Tabi
2015-06-22  6:47   ` Marc Zyngier
2015-06-22  6:47     ` Marc Zyngier
2015-06-22  8:44 ` Peter Maydell
2015-06-22  8:44   ` Peter Maydell
2015-06-23 12:39   ` Christoffer Dall
2015-06-23 12:39     ` Christoffer Dall
2015-06-23 14:03     ` Suzuki K. Poulose
2015-06-23 14:03       ` Suzuki K. Poulose
2015-06-23 14:16       ` Peter Maydell
2015-06-23 14:16         ` Peter Maydell
2015-06-24  8:29   ` Marc Zyngier
2015-06-24  8:29     ` Marc Zyngier
2015-06-24  8:51     ` Christoffer Dall
2015-06-24  8:51       ` Christoffer Dall
2015-06-24  9:32       ` Marc Zyngier
2015-06-24  9:32         ` Marc Zyngier
2015-06-25 12:30         ` Christoffer Dall
2015-06-25 12:30           ` Christoffer Dall
2015-06-25 12:40           ` Marc Zyngier
2015-06-25 12:40             ` Marc Zyngier
2015-06-25 13:44             ` Marc Zyngier
2015-06-25 13:44               ` Marc Zyngier
2015-06-25 13:49               ` Peter Maydell
2015-06-25 13:49                 ` Peter Maydell
2015-06-26  9:53                 ` Christoffer Dall
2015-06-26  9:53                   ` Christoffer Dall
2015-06-29 17:13                   ` Chalamarla, Tirumalesh
2015-06-29 17:13                     ` Chalamarla, Tirumalesh
2015-06-29 17:30                     ` Marc Zyngier
2015-06-29 17:30                       ` Marc Zyngier
2015-06-29 17:38                       ` Peter Maydell
2015-06-29 17:38                         ` Peter Maydell
2015-06-29 17:52                         ` Marc Zyngier
2015-06-29 17:52                           ` Marc Zyngier
2015-06-29 18:39                           ` Chalamarla, Tirumalesh
2015-06-29 18:39                             ` Chalamarla, Tirumalesh
2015-07-02 20:29                             ` Chalamarla, Tirumalesh
2015-07-03  8:08                               ` Marc Zyngier
2015-07-03  8:08                                 ` Marc Zyngier
2015-07-03  8:12                                 ` Peter Maydell
2015-07-03  8:12                                   ` Peter Maydell
2015-07-03  8:28                                   ` Marc Zyngier
2015-07-03  8:28                                     ` Marc Zyngier
2015-07-03  9:34                                     ` Peter Maydell
2015-07-03  9:34                                       ` Peter Maydell
2015-07-03 10:10                                       ` Marc Zyngier
2015-07-03 10:10                                         ` Marc Zyngier
2015-07-17  9:33                                         ` Christoffer Dall
2015-07-17  9:33                                           ` Christoffer Dall
2015-07-17  9:56                                           ` Marc Zyngier
2015-07-17  9:56                                             ` Marc Zyngier
2015-07-17 10:15                                             ` Christoffer Dall
2015-07-17 10:15                                               ` Christoffer Dall
2015-07-17 10:19                                               ` Marc Zyngier [this message]
2015-07-17 10:19                                                 ` Marc Zyngier
2015-07-17 17:56                                                 ` Chalamarla, Tirumalesh
2015-07-17 17:56                                                   ` Chalamarla, Tirumalesh

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=55A8D6C6.3090907@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=Tirumalesh.Chalamarla@caviumnetworks.com \
    --cc=christoffer.dall@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=peter.maydell@linaro.org \
    --cc=timur@codeaurora.org \
    --cc=vgandhi@codeaurora.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.