All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: RFC: xen config changes v4
Date: Fri, 27 Feb 2015 10:04:18 +0000	[thread overview]
Message-ID: <1425031458.14641.130.camel@citrix.com> (raw)
In-Reply-To: <20150226184813.GN8749@wotan.suse.de>

On Thu, 2015-02-26 at 19:48 +0100, Luis R. Rodriguez wrote:
> On Thu, Feb 26, 2015 at 05:42:57PM +0000, Stefano Stabellini wrote:
> > On Thu, 26 Feb 2015, Luis R. Rodriguez wrote:
> > > On Thu, Feb 26, 2015 at 11:08:20AM +0000, Stefano Stabellini wrote:
> > > > On Thu, 26 Feb 2015, David Vrabel wrote:
> > > > > On 26/02/15 04:59, Juergen Gross wrote:
> > > > > > 
> > > > > > So we are again in the situation that pv-drivers always imply the pvops
> > > > > > kernel (PARAVIRT selected). I started the whole Kconfig rework to
> > > > > > eliminate this dependency.
> > > > > 
> > > > > Yes.  Can you produce a series that just addresses this one issue.
> > > > > 
> > > > > In the absence of any concrete requirement for this big Kconfig reorg I
> > > > > I don't think it is helpful.
> > > > 
> > > > I clearly missed some context as I didn't realize that this was the
> > > > intended goal. Why do we want this? Please explain as it won't come
> > > > for free.
> > > > 
> > > > 
> > > > We have a few PV interfaces for HVM guests that need PARAVIRT in Linux
> > > > in order to be used, for example pv_time_ops and HVMOP_pagetable_dying.
> > > > They are critical performance improvements and from the interface
> > > > perspective, small enough that doesn't make much sense having a separate
> > > > KConfig option for them.
> > > > 
> > > > 
> > > > In order to reach the goal above we necessarily need to introduce a
> > > > differentiation in terms of PV on HVM guests in Linux:
> > > > 
> > > > 1) basic guests with PV network, disk, etc but no PV timers, no
> > > >    HVMOP_pagetable_dying, no PV IPIs
> > > > 2) full PV on HVM guests that have PV network, disk, timers,
> > > >    HVMOP_pagetable_dying, PV IPIs and anything else that makes sense.
> > > > 
> > > > 2) is much faster than 1) on Xen and 2) is only a tiny bit slower than
> > > > 1) on native x86
> > > 
> > > Also don't we shove 2) down hvm guests right now? Even when everything is
> > > built in I do not see how we opt out for HVM for 1) at run time right now.
> > >
> > > If this is true then the question of motivation for this becomes even
> > > stronger I think.
> > 
> > Yes, indeed there is no way to do 1) at the moment. And for good
> > reasons, see above.
> 
> OK if the goal is to be able to build front end drivers by avoiding building
> PARAVIRT / PARAVIRT_CLOCK and if the gains to be able to do so (which haven't
> been stated other than just the ability to do so) are small (as Stefano notes
> simple hvm containers do not perform great)

I may have misunderstood this bit, WRT this last parenthetical: adding
PV I/O drivers to an HVM guest is AFAIAA the single biggest improvement
you can make to a bare HVM guest in terms of performance.

There are indeed additional gains to be had from other PV stuff which
Stefano mentions (clocks etc), but I believe those are all mostly
incremental and not as impressive as the PV I/O gains (but still good
improvements).

That's not to say that there's an argument in the context of Linux that
if you can enable PV I/O then you can also enable other PV 
optimisations, but I thought I would mention it.

Wasn't part of the original point here to be able to enable PV I/O (and
perhaps other PV stuff) for non-PAE 32-bit x86, i.e. in a context where
PVMMU isn't available. (That doesn't necessarily conflict with "if you
can enable PV I/O then you can also enable other PV 
optimisations" though)

Ian.

  parent reply	other threads:[~2015-02-27 10:06 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-26  1:53 RFC: xen config changes v4 Luis R. Rodriguez
2015-02-26  4:59 ` Juergen Gross
2015-02-26 10:08   ` David Vrabel
2015-02-26 11:08     ` Stefano Stabellini
2015-02-26 17:29       ` Luis R. Rodriguez
2015-02-26 17:42         ` Stefano Stabellini
2015-02-26 18:48           ` Luis R. Rodriguez
2015-02-27  6:14             ` Juergen Gross
2015-02-27 21:33               ` Luis R. Rodriguez
2015-02-27 10:04             ` Ian Campbell [this message]
2015-02-27  6:09           ` Juergen Gross
2015-02-27  9:41             ` Stefano Stabellini
2015-02-27  9:55               ` Juergen Gross
2015-02-27 10:11                 ` Stefano Stabellini
2015-02-27 10:30                   ` Ian Campbell
2015-02-27 11:27                     ` Stefano Stabellini
2015-02-27 11:30                   ` Juergen Gross
2015-02-27 12:24                     ` Stefano Stabellini
2015-02-27 12:36                       ` Juergen Gross
2015-02-27 13:38                         ` Stefano Stabellini
2015-02-27 14:30                           ` Juergen Gross
2015-02-27 17:53                             ` Luis R. Rodriguez
2015-02-27 18:27                               ` Konrad Rzeszutek Wilk
2015-03-02  9:55                                 ` Stefano Stabellini
2015-03-02 16:07                                   ` Konrad Rzeszutek Wilk
2015-03-02 17:07                                     ` Stefano Stabellini
2015-03-02 17:30                                       ` Konrad Rzeszutek Wilk
2015-03-02 21:15                                         ` Luis R. Rodriguez
2015-03-03  6:59                                       ` Juergen Gross
2015-03-02 21:08                                     ` Luis R. Rodriguez
2015-03-02 20:39                                 ` Luis R. Rodriguez
2015-03-06 17:17                                   ` Luis R. Rodriguez
2015-03-06 18:02                                     ` Konrad Rzeszutek Wilk
2015-03-06 18:08                                       ` Luis R. Rodriguez
2015-03-06 18:24                                         ` Roger Pau Monné
2015-02-27 12:48                       ` Ian Campbell
2015-02-27 18:18                   ` Konrad Rzeszutek Wilk

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=1425031458.14641.130.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=jgross@suse.com \
    --cc=mcgrof@suse.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.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.