All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hollis Blanchard <hollisb@us.ibm.com>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Subject: Re: [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a
Date: Tue, 05 Feb 2008 17:53:34 +0000	[thread overview]
Message-ID: <1202234014.26953.25.camel@basalt> (raw)
In-Reply-To: <47A89285.40802-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

If it's the "ioctl" in the function name you object to, that's easily
changed.

I think it's reasonable to say that single-system-image software
requires identical cores, but that's not what we're talking about here.
Heterogeneous core designs are not common, but a VM needs to reflect
hardware layout, and people do it in hardware (again, not running a
single system image).

"VCPU type" is a VCPU property, and I think the design should reflect
that, and as you can see from the patch it's not at all difficult to do.

-- 
Hollis Blanchard
IBM Linux Technology Center

On Tue, 2008-02-05 at 10:44 -0600, Anthony Liguori wrote:
> Why do this at the VCPU level?  Would you ever want a VM with two VCPUs 
> with different cores?  You could just add a per-VM arch ioctl to set the 
> core type that has to be issued before any VCPU creates.  Then you don't 
> have to do ugly stuff like calling ioctls from modules.
> 
> Regards,
> 
> Anthony Liguori
> 
> Hollis Blanchard wrote:
> > These patches allow PowerPC to create vcpus of a particular type. Since we are
> > actually emulating the core's supervisor mode, we can choose to emulate any
> > type of core. However, since the core chosen will change the size of the vcpu
> > structure (among other things), we need to know it at vcpu creation time,
> > rather than after the fact (which is how x86's cpuid is handled).
> >
> > I've included the first example of how PowerPC will be using the new
> > capability, and this will be significantly extended in the future. I think you
> > get the idea...
> >
> > I still need to update my tree and patch IA64 to match, but is this approach
> > acceptable?
> >
> > 6 files changed, 99 insertions(+), 11 deletions(-)
> > arch/powerpc/kvm/powerpc.c     |   80 ++++++++++++++++++++++++++++++++++++++--
> > arch/x86/kvm/x86.c             |    4 +-
> > include/asm-powerpc/kvm_host.h |    5 ++
> > include/linux/kvm.h            |    8 ++++
> > include/linux/kvm_host.h       |    4 +-
> > virt/kvm/kvm_main.c            |    9 ++--
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > kvm-devel mailing list
> > kvm-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/kvm-devel
> >   



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-ppc-devel mailing list
kvm-ppc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel

WARNING: multiple messages have this Message-ID (diff)
From: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH 0 of 3] RFC: creating a particular vcpu type
Date: Tue, 05 Feb 2008 11:53:34 -0600	[thread overview]
Message-ID: <1202234014.26953.25.camel@basalt> (raw)
In-Reply-To: <47A89285.40802-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

If it's the "ioctl" in the function name you object to, that's easily
changed.

I think it's reasonable to say that single-system-image software
requires identical cores, but that's not what we're talking about here.
Heterogeneous core designs are not common, but a VM needs to reflect
hardware layout, and people do it in hardware (again, not running a
single system image).

"VCPU type" is a VCPU property, and I think the design should reflect
that, and as you can see from the patch it's not at all difficult to do.

-- 
Hollis Blanchard
IBM Linux Technology Center

On Tue, 2008-02-05 at 10:44 -0600, Anthony Liguori wrote:
> Why do this at the VCPU level?  Would you ever want a VM with two VCPUs 
> with different cores?  You could just add a per-VM arch ioctl to set the 
> core type that has to be issued before any VCPU creates.  Then you don't 
> have to do ugly stuff like calling ioctls from modules.
> 
> Regards,
> 
> Anthony Liguori
> 
> Hollis Blanchard wrote:
> > These patches allow PowerPC to create vcpus of a particular type. Since we are
> > actually emulating the core's supervisor mode, we can choose to emulate any
> > type of core. However, since the core chosen will change the size of the vcpu
> > structure (among other things), we need to know it at vcpu creation time,
> > rather than after the fact (which is how x86's cpuid is handled).
> >
> > I've included the first example of how PowerPC will be using the new
> > capability, and this will be significantly extended in the future. I think you
> > get the idea...
> >
> > I still need to update my tree and patch IA64 to match, but is this approach
> > acceptable?
> >
> > 6 files changed, 99 insertions(+), 11 deletions(-)
> > arch/powerpc/kvm/powerpc.c     |   80 ++++++++++++++++++++++++++++++++++++++--
> > arch/x86/kvm/x86.c             |    4 +-
> > include/asm-powerpc/kvm_host.h |    5 ++
> > include/linux/kvm.h            |    8 ++++
> > include/linux/kvm_host.h       |    4 +-
> > virt/kvm/kvm_main.c            |    9 ++--
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > kvm-devel mailing list
> > kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > https://lists.sourceforge.net/lists/listinfo/kvm-devel
> >   



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  parent reply	other threads:[~2008-02-05 17:53 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-05  5:34 [kvm-ppc-devel] [PATCH 0 of 3] RFC: creating a particular vcpu type Hollis Blanchard
2008-02-05  5:34 ` Hollis Blanchard
2008-02-05  5:34 ` [kvm-ppc-devel] [PATCH 1 of 3] Pass an opaque parameter Hollis Blanchard
2008-02-05  5:34   ` [PATCH 1 of 3] Pass an opaque parameter through kvm_vm_ioctl_vcpu_create() to kvm_arch_vcpu_create() Hollis Blanchard
2008-02-05  5:34 ` [kvm-ppc-devel] [PATCH 2 of 3] Export kvm_vm_ioctl_create_vcpu() to Hollis Blanchard
2008-02-05  5:34   ` [PATCH 2 of 3] Export kvm_vm_ioctl_create_vcpu() to be called from architecture modules Hollis Blanchard
2008-02-05  5:34 ` [kvm-ppc-devel] [PATCH 3 of 3] [POWERPC] Implement an ioctl that Hollis Blanchard
2008-02-05  5:34   ` [PATCH 3 of 3] [POWERPC] Implement an ioctl that creates a vcpu of a particular type Hollis Blanchard
2008-02-05 12:52   ` [kvm-ppc-devel] [kvm-devel] [PATCH 3 of 3] [POWERPC] Implement Christian Ehrhardt
2008-02-05 12:52     ` [PATCH 3 of 3] [POWERPC] Implement an ioctl that creates a vcpu of a particular type Christian Ehrhardt
     [not found]     ` <47A85C09.5070609-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-02-05 13:41       ` [kvm-ppc-devel] [kvm-devel] [PATCH 3 of 3] [POWERPC] Implement Carsten Otte
2008-02-05 13:41         ` [PATCH 3 of 3] [POWERPC] Implement an ioctl that creates a vcpu of a particular type Carsten Otte
     [not found]         ` <47A86794.4020408-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2008-02-05 14:03           ` [kvm-ppc-devel] [kvm-devel] [PATCH 3 of 3] [POWERPC] Implement Carsten Otte
2008-02-05 14:03             ` [PATCH 3 of 3] [POWERPC] Implement an ioctl that creates a vcpu of a particular type Carsten Otte
2008-02-05 15:13       ` [kvm-ppc-devel] [kvm-devel] [PATCH 3 of 3] [POWERPC] Implement Hollis Blanchard
2008-02-05 15:13         ` [PATCH 3 of 3] [POWERPC] Implement an ioctl that creates a vcpu of a particular type Hollis Blanchard
2008-02-05 16:44 ` [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a Anthony Liguori
2008-02-05 16:44   ` [PATCH 0 of 3] RFC: creating a particular vcpu type Anthony Liguori
     [not found]   ` <47A89285.40802-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-02-05 17:53     ` Hollis Blanchard [this message]
2008-02-05 17:53       ` Hollis Blanchard
2008-02-05 18:05       ` [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a Anthony Liguori
2008-02-05 18:05         ` [PATCH 0 of 3] RFC: creating a particular vcpu type Anthony Liguori
     [not found]         ` <47A8A582.5060502-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-02-05 19:23           ` [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a Hollis Blanchard
2008-02-05 19:23             ` [PATCH 0 of 3] RFC: creating a particular vcpu type Hollis Blanchard
2008-02-05 19:32             ` [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a Anthony Liguori
2008-02-05 19:32               ` [PATCH 0 of 3] RFC: creating a particular vcpu type Anthony Liguori
2008-02-11  8:23               ` [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] RFC: creating a Avi Kivity
2008-02-11  8:23                 ` [PATCH 0 of 3] RFC: creating a particular vcpu type 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=1202234014.26953.25.camel@basalt \
    --to=hollisb@us.ibm.com \
    --cc=aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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.