All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Alexey Zaytsev <alexey.zaytsev@gmail.com>,
	Kernel development list <linux-kernel@vger.kernel.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Garrett D'Amore" <garrett@nexenta.com>,
	kvm <kvm@vger.kernel.org>, "Li, Susie" <susie.li@intel.com>
Subject: Re: [PATCH v2] KVM: x86: Prevent exposing TSC deadline timer feature in the absence of in-kernel APIC
Date: Mon, 26 Dec 2011 13:35:15 +0200	[thread overview]
Message-ID: <4EF85BF3.9010903@redhat.com> (raw)
In-Reply-To: <DE8DF0795D48FD4CA783C40EC8292335BFA0@SHSMSX101.ccr.corp.intel.com>

On 12/26/2011 10:11 AM, Liu, Jinsong wrote:
> > 
> > It breaks live migration: if you start a guest on a TSC-deadline
> > capable host kernel, and migrate it to a TSC-deadline incapable host
> > kernel, you end up with a broken guest.
> > 
> > More broadly, kvm never exposes features transparently to the guest,
> > it always passes them to userspace first, so userspace controls the
> > ABI exposed to the guest.  This prevents the following scenario:
>
> Do you mean, by the method qemu control cpuid exposing, it can avoid live migration broken issue by
> 1. user probe the lowest ability host of whole pool where vm may live migrate;
> 2. only if the lowest ablility host support the feature can user enable the feature when boot a vm;
> 3. if the lowest ability host didn't support the feature (say tsc deadline timer as example), user disable the feature when boot a vm;
> In this way, live migration wouldn't be broken. Right?

Right.

> or, do you mean qemu-kvm solve live migration broken issue by some other method?

The method you outlined, or any other method, such as partitioning the
cluster according to hardware capabilities.

>
> > 
> > - a guest is started on some hardware, which doesn't support some
> > cpuid feature (say AVX for example)
> > - the guest or one of its applications are broken wrt AVX, but because
> > the feature is not exposed, it works correctly
> > - the host hardware is upgraded to one which supports AVX
> > - the guest is now broken
>
> You mean, live migrate from 'old' (which doesn't support the feature) platform to 'new' platform would broken?

Live migration, or even just a guest restart on updated hardware.

-- 
error compiling committee.c: too many arguments to function


WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@redhat.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Alexey Zaytsev <alexey.zaytsev@gmail.com>,
	Kernel development list <linux-kernel@vger.kernel.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Garrett D'Amore" <garrett@nexenta.com>,
	kvm <kvm@vger.kernel.org>, "Li, Susie" <susie.li@intel.com>
Subject: Re: [PATCH v2] KVM: x86: Prevent exposing TSC deadline timer feature in the absence of in-kernel APIC
Date: Mon, 26 Dec 2011 13:35:15 +0200	[thread overview]
Message-ID: <4EF85BF3.9010903@redhat.com> (raw)
In-Reply-To: <DE8DF0795D48FD4CA783C40EC8292335BFA0@SHSMSX101.ccr.corp.intel.com>

On 12/26/2011 10:11 AM, Liu, Jinsong wrote:
> > 
> > It breaks live migration: if you start a guest on a TSC-deadline
> > capable host kernel, and migrate it to a TSC-deadline incapable host
> > kernel, you end up with a broken guest.
> > 
> > More broadly, kvm never exposes features transparently to the guest,
> > it always passes them to userspace first, so userspace controls the
> > ABI exposed to the guest.  This prevents the following scenario:
>
> Do you mean, by the method qemu control cpuid exposing, it can avoid live migration broken issue by
> 1. user probe the lowest ability host of whole pool where vm may live migrate;
> 2. only if the lowest ablility host support the feature can user enable the feature when boot a vm;
> 3. if the lowest ability host didn't support the feature (say tsc deadline timer as example), user disable the feature when boot a vm;
> In this way, live migration wouldn't be broken. Right?

Right.

> or, do you mean qemu-kvm solve live migration broken issue by some other method?

The method you outlined, or any other method, such as partitioning the
cluster according to hardware capabilities.

>
> > 
> > - a guest is started on some hardware, which doesn't support some
> > cpuid feature (say AVX for example)
> > - the guest or one of its applications are broken wrt AVX, but because
> > the feature is not exposed, it works correctly
> > - the host hardware is upgraded to one which supports AVX
> > - the guest is now broken
>
> You mean, live migrate from 'old' (which doesn't support the feature) platform to 'new' platform would broken?

Live migration, or even just a guest restart on updated hardware.

-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2011-12-26 11:35 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-12  0:32 [Regression, bisected] a3e06bbe8445f57eb949e6474c5a9b30f24d2057: KVM: emulate lapic tsc deadline timer for guest" Alexey Zaytsev
2011-12-12  6:13 ` Liu, Jinsong
2011-12-14  9:37   ` Alexey Zaytsev
2011-12-20  8:43     ` Alexey Zaytsev
2011-12-20  8:53       ` Liu, Jinsong
2011-12-20  8:58         ` Alexey Zaytsev
2011-12-20  9:26           ` Liu, Jinsong
2011-12-20  9:48             ` Avi Kivity
2011-12-20  9:51             ` Alexey Zaytsev
2011-12-20 18:58               ` Linus Torvalds
2011-12-20 19:21                 ` Liu, Jinsong
2011-12-20 19:47                   ` Alexey Zaytsev
2011-12-20 20:19                     ` Liu, Jinsong
2011-12-20 20:22                       ` Alexey Zaytsev
2011-12-20 20:26                         ` Liu, Jinsong
2011-12-20 20:36                           ` Alexey Zaytsev
2011-12-20 20:44                             ` Liu, Jinsong
2011-12-21  9:18                   ` Avi Kivity
2011-12-20 23:04                 ` Jan Kiszka
2011-12-21 10:10                   ` [PATCH] KVM: x86: Prevent exposing TSC deadline timer feature in the absence of in-kernel APIC Jan Kiszka
2011-12-21 10:25                     ` [PATCH v2] " Jan Kiszka
2011-12-21 10:35                       ` Avi Kivity
2011-12-21 10:41                         ` Jan Kiszka
2011-12-21 10:44                           ` Avi Kivity
2011-12-21 11:28                             ` Jan Kiszka
2011-12-21 11:28                               ` Jan Kiszka
2011-12-21 11:45                               ` Avi Kivity
2011-12-21 11:45                                 ` Avi Kivity
2011-12-21 11:58                                 ` Jan Kiszka
2011-12-21 11:58                                   ` Jan Kiszka
2011-12-21 12:02                                   ` Avi Kivity
2011-12-21 12:02                                     ` Avi Kivity
2011-12-22 15:41                         ` Liu, Jinsong
2011-12-25 12:37                           ` Avi Kivity
2011-12-25 12:37                             ` Avi Kivity
2011-12-26  8:11                             ` Liu, Jinsong
2011-12-26 11:35                               ` Avi Kivity [this message]
2011-12-26 11:35                                 ` Avi Kivity
2011-12-26 14:23                                 ` Liu, Jinsong
2011-12-21 10:41                       ` Alexey Zaytsev
2011-12-20 19:05               ` [Regression, bisected] a3e06bbe8445f57eb949e6474c5a9b30f24d2057: KVM: emulate lapic tsc deadline timer for guest" Liu, Jinsong
2011-12-21  9:20                 ` Avi Kivity

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=4EF85BF3.9010903@redhat.com \
    --to=avi@redhat.com \
    --cc=alexey.zaytsev@gmail.com \
    --cc=garrett@nexenta.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jinsong.liu@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=susie.li@intel.com \
    --cc=torvalds@linux-foundation.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.