All of lore.kernel.org
 help / color / mirror / Atom feed
From: gengdongjiu <gengdj.1984@gmail.com>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: James Morse <james.morse@arm.com>,
	wuquanming <wuquanming@huawei.com>,
	linux-doc@vger.kernel.org, kvm@vger.kernel.org,
	Marc Zyngier <marc.zyngier@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Jonathan Corbet <corbet@lwn.net>,
	rjw@rjwysocki.net, linux@armlinux.org.uk, linuxarm@huawei.com,
	gengdongjiu <gengdongjiu@huawei.com>,
	linux-acpi@vger.kernel.org, bp@alien8.de,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>,
	Huangshaoyu <huangshaoyu@huawei.com>,
	pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	devel@acpica.org
Subject: Re: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization
Date: Sun, 21 Jan 2018 11:10:38 +0800	[thread overview]
Message-ID: <CAMj-D2AypmVjSeimhqSEqhsrQfDwCeV+F85WYzLQ61crtCEhJg@mail.gmail.com> (raw)
In-Reply-To: <20180115083335.GC21403@cbox>

2018-01-15 16:33 GMT+08:00 Christoffer Dall <christoffer.dall@linaro.org>:
> On Fri, Jan 12, 2018 at 06:05:23PM +0000, James Morse wrote:
>> On 15/12/17 03:30, gengdongjiu wrote:
>> > On 2017/12/7 14:37, gengdongjiu wrote:
>
> [...]
>
>>
>> (I recall someone saying migration is needed for any new KVM/cpu features, but I
>> can't find the thread)
>>
>
> I don't know of any hard set-in-stone rule for this, but I have
> certainly argued that since migration is a popular technique in data
> centers and often a key motivation behind using virtual machines as it
> provides both load-balancing and high availability, we should think
> about migration support for all features and state.  Further, experience
> has shown that retroactively trying to support migration can result in
> really complex interfaces for saving/restoring state (see the ITS
> ordering requirements in
> Documentation/virtual/kvm/devices/arm-vgic-its.txt as an example) so
> thinking about this problem when introducing functionality is a good
> idea.
yes, agree it.

>
> Of course, if there are really good arguments for having some state that
> simply cannot be migrated, then that's fine, and we should just make
> sure that userspace (e.g. QEMU) and higher level components in the
> stack (libvirt, openstack, etc.) can detect this state being used, and
> ideally enable/disable it, so that it can predict that a particular VM
> cannot be migrated off a particular host, or between a particular set of
> two hosts.  As an example, migration is typically prohibited when using
> VFIO direct device assignment, but userspace etc. are already aware of
> this.
Ok,  I think this problem is similar to migrating a VM that uses an irqchip in
 userspace and has set the IRQ or FIQ lines using KVM_IRQ_LINE.

>
> As a final note, if we add support for some architectural feature, which
> may be present on some particular hardware and/or implementation, if the
> KVM support for said feature is automatically enabled (and not
> selectively from userspace), I would push back quite strongly on
> something that doesn't support migration, because it would effectively
> prevent migration of VMs on ARM.
Ok, got it.

>
> Thanks,
> -Christoffer
> _______________________________________________
> kvmarm mailing list
> kvmarm@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: gengdj.1984@gmail.com (gengdongjiu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization
Date: Sun, 21 Jan 2018 11:10:38 +0800	[thread overview]
Message-ID: <CAMj-D2AypmVjSeimhqSEqhsrQfDwCeV+F85WYzLQ61crtCEhJg@mail.gmail.com> (raw)
In-Reply-To: <20180115083335.GC21403@cbox>

2018-01-15 16:33 GMT+08:00 Christoffer Dall <christoffer.dall@linaro.org>:
> On Fri, Jan 12, 2018 at 06:05:23PM +0000, James Morse wrote:
>> On 15/12/17 03:30, gengdongjiu wrote:
>> > On 2017/12/7 14:37, gengdongjiu wrote:
>
> [...]
>
>>
>> (I recall someone saying migration is needed for any new KVM/cpu features, but I
>> can't find the thread)
>>
>
> I don't know of any hard set-in-stone rule for this, but I have
> certainly argued that since migration is a popular technique in data
> centers and often a key motivation behind using virtual machines as it
> provides both load-balancing and high availability, we should think
> about migration support for all features and state.  Further, experience
> has shown that retroactively trying to support migration can result in
> really complex interfaces for saving/restoring state (see the ITS
> ordering requirements in
> Documentation/virtual/kvm/devices/arm-vgic-its.txt as an example) so
> thinking about this problem when introducing functionality is a good
> idea.
yes, agree it.

>
> Of course, if there are really good arguments for having some state that
> simply cannot be migrated, then that's fine, and we should just make
> sure that userspace (e.g. QEMU) and higher level components in the
> stack (libvirt, openstack, etc.) can detect this state being used, and
> ideally enable/disable it, so that it can predict that a particular VM
> cannot be migrated off a particular host, or between a particular set of
> two hosts.  As an example, migration is typically prohibited when using
> VFIO direct device assignment, but userspace etc. are already aware of
> this.
Ok,  I think this problem is similar to migrating a VM that uses an irqchip in
 userspace and has set the IRQ or FIQ lines using KVM_IRQ_LINE.

>
> As a final note, if we add support for some architectural feature, which
> may be present on some particular hardware and/or implementation, if the
> KVM support for said feature is automatically enabled (and not
> selectively from userspace), I would push back quite strongly on
> something that doesn't support migration, because it would effectively
> prevent migration of VMs on ARM.
Ok, got it.

>
> Thanks,
> -Christoffer
> _______________________________________________
> kvmarm mailing list
> kvmarm at lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

  parent reply	other threads:[~2018-01-21  3:10 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-10 19:54 [PATCH v8 0/7] Support RAS virtualization in KVM Dongjiu Geng
2017-11-10 19:54 ` [Devel] " Dongjiu Geng
2017-11-10 19:54 ` Dongjiu Geng
2017-11-10 19:54 ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 1/7] arm64: cpufeature: Detect CPU RAS Extentions Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 2/7] KVM: arm64: Save ESR_EL2 on guest SError Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 3/7] acpi: apei: Add SEI notification type support for ARMv8 Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 4/7] KVM: arm64: Trap RAS error registers and set HCR_EL2's TERR & TEA Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 6/7] arm64: kvm: Set Virtual SError Exception Syndrome for guest Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54 ` [PATCH v8 7/7] arm64: kvm: handle SError Interrupt by categorization Dongjiu Geng
2017-11-10 19:54   ` [Devel] " Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-10 19:54   ` Dongjiu Geng
2017-11-14 16:00   ` James Morse
2017-11-14 16:00     ` [Devel] " James Morse
2017-11-14 16:00     ` James Morse
2017-11-14 16:00     ` James Morse
2017-11-15 11:29     ` gengdongjiu
2017-11-15 11:29       ` [Devel] " gengdongjiu
2017-11-15 11:29       ` gengdongjiu
2017-11-15 11:29       ` gengdongjiu
2017-12-06 10:26     ` gengdongjiu
2017-12-06 10:26       ` [Devel] " gengdongjiu
2017-12-06 10:26       ` gengdongjiu
2017-12-06 10:26       ` gengdongjiu
2017-12-06 19:04       ` James Morse
2017-12-06 19:04         ` [Devel] " James Morse
2017-12-06 19:04         ` James Morse
2017-12-07  6:37         ` gengdongjiu
2017-12-07  6:37           ` [Devel] " gengdongjiu
2017-12-07  6:37           ` gengdongjiu
2017-12-07  6:37           ` gengdongjiu
2017-12-15  3:30           ` gengdongjiu
2017-12-15  3:30             ` [Devel] " gengdongjiu
2017-12-15  3:30             ` gengdongjiu
2017-12-15  3:30             ` gengdongjiu
2018-01-12 18:05             ` James Morse
2018-01-12 18:05               ` [Devel] " James Morse
2018-01-12 18:05               ` James Morse
2018-01-12 18:05               ` James Morse
2018-01-15  8:33               ` Christoffer Dall
2018-01-15  8:33                 ` Christoffer Dall
2018-01-16 11:19                 ` gengdongjiu
2018-01-16 11:19                   ` [Devel] " gengdongjiu
2018-01-16 11:19                   ` gengdongjiu
2018-01-21  3:10                 ` gengdongjiu [this message]
2018-01-21  3:10                   ` gengdongjiu
2018-01-21  2:45               ` gengdongjiu
2018-01-21  2:45                 ` gengdongjiu
2018-01-22 19:32                 ` James Morse
2018-01-22 19:32                   ` [Devel] " James Morse
2018-01-22 19:32                   ` James Morse
2018-01-22 19:32                   ` James Morse
2017-12-15 18:52           ` James Morse
2017-12-15 18:52             ` [Devel] " James Morse
2017-12-15 18:52             ` James Morse
2017-12-16  3:44             ` gengdongjiu
2017-12-16  3:44               ` gengdongjiu
2017-12-16  3:44               ` gengdongjiu
2018-01-22 19:36               ` James Morse
2018-01-22 19:36                 ` James Morse
2017-12-16  4:47     ` gengdongjiu
2017-12-16  4:47       ` gengdongjiu
2018-01-12 18:05       ` James Morse
2018-01-12 18:05         ` [Devel] " James Morse
2018-01-12 18:05         ` James Morse
2018-01-12 18:05         ` James Morse
2018-01-16 11:22         ` gengdongjiu
2018-01-16 11:22           ` [Devel] " gengdongjiu
2018-01-16 11:22           ` gengdongjiu
2018-01-21  2:54         ` gengdongjiu
2018-01-21  2:54           ` gengdongjiu
2017-11-14 16:00 ` [PATCH v8 0/7] Support RAS virtualization in KVM James Morse
2017-11-14 16:00   ` [Devel] " James Morse
2017-11-14 16:00   ` James Morse
2017-11-15 11:06   ` gengdongjiu
2017-11-15 11:06     ` [Devel] " gengdongjiu
2017-11-15 11:06     ` gengdongjiu
2017-11-15 11:06     ` gengdongjiu

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=CAMj-D2AypmVjSeimhqSEqhsrQfDwCeV+F85WYzLQ61crtCEhJg@mail.gmail.com \
    --to=gengdj.1984@gmail.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=corbet@lwn.net \
    --cc=devel@acpica.org \
    --cc=gengdongjiu@huawei.com \
    --cc=huangshaoyu@huawei.com \
    --cc=james.morse@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxarm@huawei.com \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@redhat.com \
    --cc=rjw@rjwysocki.net \
    --cc=wuquanming@huawei.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.