All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Alex Williamson <alex.williamson@redhat.com>, Neo Jia <cjia@nvidia.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	Kirti Wankhede <kwankhede@nvidia.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Ruan, Shuai" <shuai.ruan@intel.com>,
	"Song, Jike" <jike.song@intel.com>,
	"Lv, Zhiyuan" <zhiyuan.lv@intel.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: RE: [RFC PATCH v1 1/1] vGPU core driver : to provide common interface for vGPU.
Date: Wed, 3 Feb 2016 05:41:10 +0000	[thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D15F79CB04@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <1454433079.30910.3.camel@redhat.com>

> From: Alex Williamson [mailto:alex.williamson@redhat.com]
> Sent: Wednesday, February 03, 2016 1:11 AM
> 
> On Tue, 2016-02-02 at 00:31 -0800, Neo Jia wrote:
> > On Tue, Feb 02, 2016 at 08:18:44AM +0000, Tian, Kevin wrote:
> > > > From: Neo Jia [mailto:cjia@nvidia.com]
> > > > Sent: Tuesday, February 02, 2016 4:13 PM
> > > >
> > > > On Tue, Feb 02, 2016 at 09:00:43AM +0100, Gerd Hoffmann wrote:
> > > > >   Hi,
> > > > >
> > > > > > And for UUID, I remember Alex had a concern on using it in kernel.
> > > > > > Honestly speaking I don't have a good idea here. In Xen side there is a VM ID
> > > > > > which can be easily used as the index. But for KVM, what would be the best
> > > > > > identifier to associate with a VM?
> > > > >
> > > > > The vgpu code doesn't need to associate the vgpu device with a vm in the
> > > > > first place.  You get all guest address space information from qemu, via
> > > > > vfio iommu interface.
> > > > >
> > > > > When qemu does't use kvm (tcg mode), things should still work fine.
> > > > > Using vfio-based vgpu devices with non-qemu apps (some kind of test
> > > > > suite for example) should work fine too.
> > > >
> > > > Hi Gerd and Kevin,
> > > >
> > > > I thought Alex had agreed with the UUID as long as it is not tied with VM,
> > > > probably it is just his comment gets lost in our previous long email thread.
> > > >
> > >
> > > I think the point is... what is the value to introduce a UUID here? If
> > > what Gerd describes is enough, we can simply invent a vgpu ID which
> > > is returned at vgpu_create, and then used as the index for other
> > > interfaces.
> > >
> >
> > Hi Kevin,
> >
> > It can just be a plain UUID, and the meaning of the UUID is up to upper layer SW, for
> > example with libvirt, you can create a new "vgpu group" object representing a
> > list of vgpu device. so the UUID will be the input on vgpu_create instead of
> > return value.
> 
> Jumping in at th end, but yes, this was my thinking.  A UUID is a
> perfectly fine name for a vgpu, but it should be user policy whether
> than UUID matches a VM definition or is simply an arbitrary grouping of
> vgpus.
> 

well I'm still trying to understand the necessity here. Is there any requirement
that vgpu driver needs to use UUID itself? If not, we can still invent any
simple format in vgpu driver itself, as Gerd mentioned, w/o dependency
on an user input. Then libvirt can maintain UUID->vgpu ID internally.

Actually I have a long puzzle in this area. Definitely libvirt will use UUID to
mark a VM. And obviously UUID is not recorded within KVM. Then how does
libvirt talk to KVM based on UUID? It could be a good reference to this design.

Thanks
Kevin

WARNING: multiple messages have this Message-ID (diff)
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Alex Williamson <alex.williamson@redhat.com>, Neo Jia <cjia@nvidia.com>
Cc: "Ruan, Shuai" <shuai.ruan@intel.com>,
	"Song, Jike" <jike.song@intel.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	qemu-devel <qemu-devel@nongnu.org>,
	Kirti Wankhede <kwankhede@nvidia.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Lv, Zhiyuan" <zhiyuan.lv@intel.com>
Subject: Re: [Qemu-devel] [RFC PATCH v1 1/1] vGPU core driver : to provide common interface for vGPU.
Date: Wed, 3 Feb 2016 05:41:10 +0000	[thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D15F79CB04@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <1454433079.30910.3.camel@redhat.com>

> From: Alex Williamson [mailto:alex.williamson@redhat.com]
> Sent: Wednesday, February 03, 2016 1:11 AM
> 
> On Tue, 2016-02-02 at 00:31 -0800, Neo Jia wrote:
> > On Tue, Feb 02, 2016 at 08:18:44AM +0000, Tian, Kevin wrote:
> > > > From: Neo Jia [mailto:cjia@nvidia.com]
> > > > Sent: Tuesday, February 02, 2016 4:13 PM
> > > >
> > > > On Tue, Feb 02, 2016 at 09:00:43AM +0100, Gerd Hoffmann wrote:
> > > > >   Hi,
> > > > >
> > > > > > And for UUID, I remember Alex had a concern on using it in kernel.
> > > > > > Honestly speaking I don't have a good idea here. In Xen side there is a VM ID
> > > > > > which can be easily used as the index. But for KVM, what would be the best
> > > > > > identifier to associate with a VM?
> > > > >
> > > > > The vgpu code doesn't need to associate the vgpu device with a vm in the
> > > > > first place.  You get all guest address space information from qemu, via
> > > > > vfio iommu interface.
> > > > >
> > > > > When qemu does't use kvm (tcg mode), things should still work fine.
> > > > > Using vfio-based vgpu devices with non-qemu apps (some kind of test
> > > > > suite for example) should work fine too.
> > > >
> > > > Hi Gerd and Kevin,
> > > >
> > > > I thought Alex had agreed with the UUID as long as it is not tied with VM,
> > > > probably it is just his comment gets lost in our previous long email thread.
> > > >
> > >
> > > I think the point is... what is the value to introduce a UUID here? If
> > > what Gerd describes is enough, we can simply invent a vgpu ID which
> > > is returned at vgpu_create, and then used as the index for other
> > > interfaces.
> > >
> >
> > Hi Kevin,
> >
> > It can just be a plain UUID, and the meaning of the UUID is up to upper layer SW, for
> > example with libvirt, you can create a new "vgpu group" object representing a
> > list of vgpu device. so the UUID will be the input on vgpu_create instead of
> > return value.
> 
> Jumping in at th end, but yes, this was my thinking.  A UUID is a
> perfectly fine name for a vgpu, but it should be user policy whether
> than UUID matches a VM definition or is simply an arbitrary grouping of
> vgpus.
> 

well I'm still trying to understand the necessity here. Is there any requirement
that vgpu driver needs to use UUID itself? If not, we can still invent any
simple format in vgpu driver itself, as Gerd mentioned, w/o dependency
on an user input. Then libvirt can maintain UUID->vgpu ID internally.

Actually I have a long puzzle in this area. Definitely libvirt will use UUID to
mark a VM. And obviously UUID is not recorded within KVM. Then how does
libvirt talk to KVM based on UUID? It could be a good reference to this design.

Thanks
Kevin

  reply	other threads:[~2016-02-03  5:41 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <56AFD231.3010404@nvidia.com>
2016-02-02  1:48 ` [RFC PATCH v1 1/1] vGPU core driver : to provide common interface for vGPU Kirti Wankhede
2016-02-02  1:48   ` [Qemu-devel] " Kirti Wankhede
2016-02-02  7:42   ` Tian, Kevin
2016-02-02  7:42     ` [Qemu-devel] " Tian, Kevin
2016-02-02  8:00     ` Gerd Hoffmann
2016-02-02  8:00       ` [Qemu-devel] " Gerd Hoffmann
2016-02-02  8:13       ` Neo Jia
2016-02-02  8:13         ` [Qemu-devel] " Neo Jia
2016-02-02  8:18         ` Tian, Kevin
2016-02-02  8:18           ` [Qemu-devel] " Tian, Kevin
2016-02-02  8:31           ` Neo Jia
2016-02-02  8:31             ` [Qemu-devel] " Neo Jia
2016-02-02 17:11             ` Alex Williamson
2016-02-02 17:11               ` [Qemu-devel] " Alex Williamson
2016-02-03  5:41               ` Tian, Kevin [this message]
2016-02-03  5:41                 ` Tian, Kevin
2016-02-03  8:28                 ` Gerd Hoffmann
2016-02-03  8:28                   ` [Qemu-devel] " Gerd Hoffmann
2016-02-03 19:32                   ` Alex Williamson
2016-02-03 19:32                     ` [Qemu-devel] " Alex Williamson
2016-02-16  6:49                     ` Tian, Kevin
2016-02-16  6:49                       ` [Qemu-devel] " Tian, Kevin
2016-02-16  7:13                       ` Neo Jia
2016-02-16  7:13                         ` [Qemu-devel] " Neo Jia
2016-02-16  7:27                         ` Tian, Kevin
2016-02-16  7:27                           ` [Qemu-devel] " Tian, Kevin
2016-02-16  7:36                           ` Neo Jia
2016-02-16  7:36                             ` [Qemu-devel] " Neo Jia
2016-02-16  7:40                             ` Tian, Kevin
2016-02-16  7:40                               ` [Qemu-devel] " Tian, Kevin
2016-02-16  7:53                               ` Neo Jia
2016-02-16  7:53                                 ` [Qemu-devel] " Neo Jia
2016-02-16  8:10                                 ` Tian, Kevin
2016-02-16  8:10                                   ` [Qemu-devel] " Tian, Kevin
2016-02-16  8:48                                   ` Neo Jia
2016-02-16  8:48                                     ` [Qemu-devel] " Neo Jia
2016-02-17  3:31                                     ` Tian, Kevin
2016-02-17  3:31                                       ` [Qemu-devel] " Tian, Kevin
2016-02-17  4:17                                       ` Neo Jia
2016-02-17  4:17                                         ` [Qemu-devel] " Neo Jia
2016-02-17  5:04                                         ` Tian, Kevin
2016-02-17  5:04                                           ` [Qemu-devel] " Tian, Kevin
2016-02-17  5:09                                           ` Eric Blake
2016-02-17  5:40                                             ` Neo Jia
2016-02-17  5:40                                               ` Neo Jia
2016-02-17  5:37                                           ` Neo Jia
2016-02-17  6:02                                             ` Tian, Kevin
2016-02-17  6:02                                               ` Tian, Kevin
2016-02-17  7:26                                               ` Neo Jia
2016-02-17  7:46                                                 ` Tian, Kevin
2016-02-17  7:46                                                   ` Tian, Kevin
2016-02-17  7:54                                                   ` Neo Jia
2016-02-17  8:57                                                     ` Tian, Kevin
2016-02-17  8:57                                                       ` Tian, Kevin
2016-02-17  9:34                                                       ` Neo Jia
2016-02-17  9:52                                                         ` Tian, Kevin
2016-02-17  9:52                                                           ` Tian, Kevin
2016-02-17 10:34                                                           ` Neo Jia
2016-02-17 10:34                                                             ` Neo Jia
2016-02-17 10:47                                                             ` Tian, Kevin
2016-02-17 10:47                                                               ` Tian, Kevin
2016-02-17 13:08                                                     ` Gerd Hoffmann
2016-02-17 13:08                                                       ` Gerd Hoffmann
2016-02-17 15:36                                                       ` Neo Jia
2016-02-17 15:36                                                         ` Neo Jia
2016-02-17  6:52                                         ` Gerd Hoffmann
2016-02-17  6:52                                           ` [Qemu-devel] " Gerd Hoffmann
2016-02-17  7:32                                           ` Neo Jia
2016-02-17  7:32                                             ` [Qemu-devel] " Neo Jia
2016-02-17  7:51                                             ` Tian, Kevin
2016-02-17  7:51                                               ` [Qemu-devel] " Tian, Kevin
2016-02-17  8:41                                               ` Neo Jia
2016-02-17  8:41                                                 ` [Qemu-devel] " Neo Jia
2016-02-17  9:01                                                 ` Tian, Kevin
2016-02-17  9:01                                                   ` [Qemu-devel] " Tian, Kevin
2016-02-02  8:29         ` Gerd Hoffmann
2016-02-02  8:29           ` [Qemu-devel] " Gerd Hoffmann
2016-02-02  9:25     ` Kirti Wankhede
2016-02-02  9:25       ` [Qemu-devel] " Kirti Wankhede
2016-02-03  5:56       ` Tian, Kevin
2016-02-03  5:56         ` [Qemu-devel] " Tian, Kevin
2016-02-03 13:21         ` Kirti Wankhede
2016-02-03 13:21           ` [Qemu-devel] " Kirti Wankhede
2016-02-04  3:08           ` Tian, Kevin
2016-02-04  3:08             ` [Qemu-devel] " Tian, Kevin

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=AADFC41AFE54684AB9EE6CBC0274A5D15F79CB04@SHSMSX103.ccr.corp.intel.com \
    --to=kevin.tian@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=cjia@nvidia.com \
    --cc=jike.song@intel.com \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shuai.ruan@intel.com \
    --cc=zhiyuan.lv@intel.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.