From: "Daniel P. Berrange" <berrange@redhat.com>
To: Kirti Wankhede <kwankhede@nvidia.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Andy Currid <ACurrid@nvidia.com>,
"Tian, Kevin" <kevin.tian@intel.com>, Neo Jia <cjia@nvidia.com>,
"libvir-list@redhat.com" <libvir-list@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
"Song, Jike" <jike.song@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
"bjsdjshi@linux.vnet.ibm.com" <bjsdjshi@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [RFC v2] libvirt vGPU QEMU integration
Date: Tue, 20 Sep 2016 15:41:52 +0100 [thread overview]
Message-ID: <20160920144152.GS25490@redhat.com> (raw)
In-Reply-To: <32b91537-0d83-a312-db19-7341650c3d4a@nvidia.com>
On Tue, Sep 20, 2016 at 08:05:01PM +0530, Kirti Wankhede wrote:
>
>
> On 9/20/2016 3:55 AM, Alex Williamson wrote:
> > On Mon, 19 Sep 2016 23:50:56 +0200
> > Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> >> On 19/09/2016 23:36, Alex Williamson wrote:
> >>> On Tue, 20 Sep 2016 02:05:52 +0530
> >>> Kirti Wankhede <kwankhede@nvidia.com> wrote:
> >>>> 'fb_length':
> >>>> Read-only file. Mandatory.
> >>>> Returns <number>{K,M,G}, size of framebuffer.
> >>>
> >>> This can't be mandatory, it's only relevant to vGPU devices, vGPUs are
> >>> just one user of mediated devices. [...]
> >>>
> >>>> 'params'
> >>>> Write-Only file. Optional.
> >>>> String input. Libvirt would pass the string given in XML file to
> >>>> this file and then create mdev device. Set empty string to clear params.
> >>>> For example, set parameter 'frame_rate_limiter=0' to disable frame rate
> >>>> limiter for performance benchmarking, then create device of type 11. The
> >>>> device created would have that parameter set by vendor driver.
> >>>
> >>> Might as well just call it "magic", there's absolutely no ability to
> >>> introspect what parameters are allowed or even valid here. Can all
> >>> parameters be changed dynamically? Do parameter changes apply to
> >>> existing devices or only future devices? This is a poorly specified
> >>> interface. I'd prefer this be done via module options on the vendor
> >>> driver.
> >>
> >> Or additional files in the mdev's sysfs directory?
> >
> > Sure, the vendor driver could certainly support that, it'd be vendor
> > specific of course.
> >
>
> Right, it would be vendor specific. But if this is not set through mdev
> device XML, user have to create mdev device with XML first and then
> manually set such parameter. Also these parameters would not retain if
> mdev device is destroyed and created again. That's why if libvirt sets
> these parameters by reading it from XML file, it would be simple for user.
>
> If we move 'params' file to mdev device, could libvirt do the following
> to create mdev device:
>
> * Read /sys/../0000\:86\:00.0/11/max_instances. If it is greater than 0,
> then only proceed else fail.
>
> * Autogenerate UUID
> * Create device:
>
> echo "$UUID" > /sys/../0000\:86\:00.0/11/create
>
> * Set extra params if 'params' field exist in device XML and 'params'
> file exist mdev device directory:
>
> echo "frame_rate_limiter=0" > /sys/bus/mdev/devices/$UUID/params
As I've said in my earlier reply - libvirt will *NOT* support passing
arbitrary vendor specific parameters as a blob via the XML. Everything
that appears in the XML must be *fully* specified and explicitly
represented in the XML as a distinct attribute or element.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
next prev parent reply other threads:[~2016-09-20 14:42 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 20:35 [Qemu-devel] [RFC v2] libvirt vGPU QEMU integration Kirti Wankhede
2016-09-19 21:36 ` Alex Williamson
2016-09-19 21:50 ` Paolo Bonzini
2016-09-19 22:25 ` Alex Williamson
2016-09-20 14:35 ` Kirti Wankhede
2016-09-20 14:41 ` Daniel P. Berrange [this message]
2016-09-20 14:49 ` Paolo Bonzini
2016-09-20 14:58 ` Daniel P. Berrange
2016-09-20 15:05 ` Paolo Bonzini
2016-09-20 15:14 ` Daniel P. Berrange
2016-09-20 16:31 ` Kirti Wankhede
2016-09-20 16:36 ` Daniel P. Berrange
2016-09-20 16:42 ` Kirti Wankhede
2016-09-20 16:44 ` Daniel P. Berrange
2016-09-20 16:46 ` Daniel P. Berrange
2016-09-20 17:21 ` Paolo Bonzini
2016-09-21 8:34 ` Daniel P. Berrange
2016-09-20 14:52 ` Alex Williamson
2016-09-20 1:25 ` Tian, Kevin
2016-09-20 14:21 ` Kirti Wankhede
2016-09-20 14:43 ` Alex Williamson
2016-09-20 16:23 ` Kirti Wankhede
2016-09-20 16:50 ` Alex Williamson
2016-09-21 18:34 ` Kirti Wankhede
2016-09-21 19:03 ` Alex Williamson
2016-09-22 4:11 ` Kirti Wankhede
2016-09-22 14:19 ` Alex Williamson
2016-09-22 14:26 ` [Qemu-devel] [libvirt] " Daniel P. Berrange
2016-09-28 19:22 ` Neo Jia
2016-09-28 19:45 ` Tian, Kevin
2016-09-28 19:59 ` Neo Jia
2016-09-28 20:31 ` Laine Stump
2016-09-28 20:47 ` Neo Jia
2016-09-28 22:49 ` Alex Williamson
2016-09-28 19:55 ` Alex Williamson
2016-09-28 20:06 ` Neo Jia
2016-09-28 22:39 ` Alex Williamson
2016-09-29 8:03 ` Daniel P. Berrange
2016-09-29 8:12 ` Neo Jia
2016-09-29 14:22 ` [Qemu-devel] " Kirti Wankhede
2016-09-21 4:10 ` Tian, Kevin
2016-09-21 4:43 ` Alex Williamson
2016-09-22 2:43 ` Tian, Kevin
2016-09-22 19:25 ` Tian, Kevin
2016-09-23 18:34 ` Kirti Wankhede
2016-09-21 3:56 ` Tian, Kevin
2016-09-21 4:36 ` Alex Williamson
2016-09-22 2:33 ` Tian, Kevin
2016-09-22 3:01 ` Alex Williamson
2016-09-22 3:42 ` Tian, Kevin
[not found] ` <AADFC41AFE54684AB9EE6CBC0274A5D18DF86F5F@SHSMSX101.ccr.corp.intel.com>
2016-09-22 2:59 ` Tian, Kevin
2016-09-20 1:37 ` Tian, Kevin
2016-09-20 9:47 ` Daniel P. Berrange
2016-09-28 19:48 ` Neo Jia
2016-09-29 8:06 ` Daniel P. Berrange
2016-09-29 14:35 ` Tian, Kevin
2016-09-29 14:38 ` Daniel P. Berrange
2016-09-29 14:42 ` Tian, Kevin
2016-09-30 5:19 ` Kirti Wankhede
2016-10-03 8:20 ` Kirti Wankhede
2016-10-07 5:16 ` Kirti Wankhede
2016-10-07 19:09 ` Alex Williamson
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=20160920144152.GS25490@redhat.com \
--to=berrange@redhat.com \
--cc=ACurrid@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=bjsdjshi@linux.vnet.ibm.com \
--cc=cjia@nvidia.com \
--cc=jike.song@intel.com \
--cc=kevin.tian@intel.com \
--cc=kraxel@redhat.com \
--cc=kwankhede@nvidia.com \
--cc=libvir-list@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).