[Libosinfo] [osinfo-db PATCH 1/3] workload: Add high performance

Daniel P. Berrangé berrange at redhat.com
Tue Nov 20 16:12:05 UTC 2018


On Tue, Nov 20, 2018 at 03:44:51PM +0000, Daniel P. Berrangé wrote:
> On Sat, Nov 17, 2018 at 01:06:11AM +0100, Martin Kletzander wrote:
> > This is an example workload that sums up the "common knowledge" that virtio
> > devices have the best performance.
> 
> Already today when using libosinfo, a mgmt app will know which
> devices are "better". ie any application which supports QEMU will
> always try to use virtio-net, before trying e1000(e), before
> trying rtl8139, etc. So will query libosinfo to find out which
> of these devices an OS supports and use the best available.
> 
> IOW, if a guest supports virtio-XXX an mgmt app will already be
> enabling them by default.
> 
> So what value is added by having a workload list these devices,
> as opposed to what the app will do today when using libosinfo ?
> 
> Or to put it another way, if the user didn't pick the "high-perf"
> workload and instead got a different workload that didn't list
> any devices, what difference would there be to guest config ?

Or are these devices supposed to indicate a white list ?

ie refuse to install the guest if it doesn't support
virtio-blk ?

> If anything following the workload recommendation would be a
> step backwards because it is KVM specific, not considering
> the Xen paravirt devices.
> 
> 
> > As a possible addition it also shows the optimal (let's say) number of I/O
> > threads to choose.
> > 
> > Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> > ---
> >  data/workload/example.com/high-perf.xml.in | 38 ++++++++++++++++++++++
> >  1 file changed, 38 insertions(+)
> >  create mode 100644 data/workload/example.com/high-perf.xml.in
> > 
> > diff --git a/data/workload/example.com/high-perf.xml.in b/data/workload/example.com/high-perf.xml.in
> > new file mode 100644
> > index 000000000000..9c3aec7d811e
> > --- /dev/null
> > +++ b/data/workload/example.com/high-perf.xml.in
> > @@ -0,0 +1,38 @@
> > +<libosinfo version="0.0.1">
> > +<!-- Licensed under the GNU General Public License version 2 or later.
> > +     See http://www.gnu.org/licenses/ for a copy of the license text -->
> > +  <workload id="http://example.com/high-perf">
> > +    <short-id>high-perf</short-id>
> > +    <_name>High Performance</_name>
> > +  </workload>
> > +
> > +  <devices>
> > +    <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
> > +    <device id="http://pcisig.com/pci/1af4/1048"/> <!-- virtio1.0-scsi -->
> > +    <device id="http://pcisig.com/pci/1af4/1044"/> <!-- virtio1.0-rng -->
> > +    <device id="http://pcisig.com/pci/1af4/1042"/> <!-- virtio1.0-block -->
> > +    <device id="http://pcisig.com/pci/1af4/1041"/> <!-- virtio1.0-net -->
> > +  </devices>
> 
> 
> 
> > +
> > +  <features>
> > +    <!--
> > +        These can be:
> > +          - just list of strings
> > +          - or list of feature-IDs where feature is a new object that has:
> > +             - description
> > +             - and human explanation of what to set and how
> > +    -->
> > +    <iothreads>yes</iothreads>
> 
> I wonder if this is too simplistic to really be useful ?
> 
> I feel like an mgmt app shouldn't need a workload to say iothreads=yes
> in order to know that using iothreads is a good idea for maximising
> performance when the guest has > 1 vCPU.  IOW there's only really one
> right answer and that's iothreads=yes
> 
> 
> > +    <!--
> > +        probably pointless, but someone might want to be able to specify
> > +        something like:
> > +         <iothreads>
> > +           <min>
> > +             <cpus/>
> > +             <number>4</number>
> > +           </min>
> > +         </iothreads>
> 
> IMHO this starts to be more useful than a simple yes|no, as it is
> starting to express a concept where there are many possible right
> answers.  More interesting would also be ideas about CPU pinning
> and sched tuning
> 
> > +    -->
> > +  </features>
> 
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 
> _______________________________________________
> Libosinfo mailing list
> Libosinfo at redhat.com
> https://www.redhat.com/mailman/listinfo/libosinfo

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the Libosinfo mailing list