From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Oliver Chick (Intern)" <oliver.chick@citrix.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
David Vrabel <david.vrabel@citrix.com>,
Jan Beulich <JBeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Persistent grant maps for xen blk drivers
Date: Fri, 21 Sep 2012 10:26:30 -0400 [thread overview]
Message-ID: <20120921142630.GA3389@phenom.dumpdata.com> (raw)
In-Reply-To: <1348215044.26501.70.camel@zakaz.uk.xensource.com>
On Fri, Sep 21, 2012 at 09:10:44AM +0100, Ian Campbell wrote:
> On Thu, 2012-09-20 at 22:24 +0100, Konrad Rzeszutek Wilk wrote:
> > On Thu, Sep 20, 2012 at 03:13:42PM +0100, Oliver Chick wrote:
> > > On Thu, 2012-09-20 at 14:49 +0100, Konrad Rzeszutek Wilk wrote:
> > > > On Thu, Sep 20, 2012 at 12:48:41PM +0100, Jan Beulich wrote:
> > > > > >>> On 20.09.12 at 13:30, Oliver Chick <oliver.chick@citrix.com> wrote:
> > > > > > The memory overhead, and fallback mode points are related:
> > > > > > -Firstly, it turns out that the overhead is actually 2.75MB, not 11MB
> > > > > > per device. I made a mistake (pointed out by Jan) as the maximum number
> > > > > > of requests that can fit into a single-page ring is 64, not 256.
> > > > > > -Clearly, this still scales linearly. So the problem of memory footprint
> > > > > > will occur with more VMs, or block devices.
> > > > > > -Whilst 2.75MB per device is probably acceptable (?), if we start using
> > > > > > multipage rings, then we might not want to have
> > > > > > BLKIF_MAX_PERS_REQUESTS_PER_DEVICE==__RING_SIZE, as this will cause the
> > > > > > memory overhead to increase. This is why I have implemented the
> > > > > > 'fallback' mode. With a multipage ring, it seems reasonable to want the
> > > > > > first $x$ grefs seen by blkback to be treated as persistent, and any
> > > > > > later ones to be non-persistent. Does that seem sensible?
> > > > >
> > > > > From a resource usage pov, perhaps. But this will get the guest
> > > > > entirely unpredictable performance. Plus I don't think 11Mb of
> > > >
> > > > Wouldn't it fall back to the older performance?
> > >
> > > I guess it would be a bit more complex than that. It would be worse than
> > > the new performance because the grefs that get processed by the
> > > 'fallback' mode will cause TLB shootdowns. But any early grefs will
> > > still be processed by the persistent mode, so won't have shootdowns.
> > > Therefore, depending on the ratio of {persistent grants}:{non-persistent
> > > grants), allocated by blkfront, the performance will be somewhere
> > > inbetween the two extremes.
> > >
> > > I guess that the choice is between
> > > 1) Compiling blk{front,back} with a pre-determined number of persistent
> > > grants, and failing if this limit is exceeded. This seems rather
> > > unflexible, as blk{front,back} must then both both use the same version,
> > > or you will get failures.
> > > 2 (current setup)) Have a recommended maximum number of
> > > persistently-mapped pages, and going into a 'fallback' mode if blkfront
> > > exceeds this limit.
> > > 3) Having blkback inform blkfront on startup as to how many grefs it is
> > > willing to persistently-map. We then hit the same question again though:
> > > what should be do if blkfront ignores this limit?
> >
> > How about 2 and 3 together?
>
> I think 1 is fine for a "phase 1" implementation, especially taking into
> consideration that the end of Oliver's internship is next week.
Ah yes. Lets do one and then we can deal with 2 later on. At the
same time when netback persistent grants come online. Seems like
both backends will have to deal with this.
>
> Also it seems that the cases where there might be some disconnect
> between the number of persistent grants supported by the backend and the
> number of requests from the frontend are currently theoretical or
> predicated on the existence of unmerged or as yet unwritten patches.
>
> So lets say, for now, that the default number of persistent grants is
> the same as the number of slots in the ring and that it is a bug for
> netfront to try and use more than that if it has signed up to the use of
> persistent grants. netback is at liberty to fail such "overflow"
> requests. In practice this can't happen with the current implementations
> given the default specified above.
OK.
next prev parent reply other threads:[~2012-09-21 14:38 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-19 10:51 [PATCH] Persistent grant maps for xen blk drivers Oliver Chick
2012-09-19 11:17 ` Konrad Rzeszutek Wilk
2012-09-19 11:17 ` Konrad Rzeszutek Wilk
2012-09-19 12:03 ` [Xen-devel] " Jan Beulich
2012-09-20 8:51 ` Oliver Chick
2012-09-20 9:11 ` Jan Beulich
2012-09-20 9:11 ` [Xen-devel] " Jan Beulich
2012-09-20 8:51 ` Oliver Chick
2012-09-19 12:03 ` Jan Beulich
2012-09-19 13:16 ` [Xen-devel] " Pasi Kärkkäinen
2012-09-19 13:16 ` Pasi Kärkkäinen
2012-09-20 9:35 ` [Xen-devel] " Oliver Chick
2012-09-20 10:09 ` Pasi Kärkkäinen
2012-09-20 10:09 ` [Xen-devel] " Pasi Kärkkäinen
2012-09-20 9:35 ` Oliver Chick
2012-09-19 14:11 ` Konrad Rzeszutek Wilk
2012-09-19 14:11 ` Konrad Rzeszutek Wilk
2012-09-20 13:12 ` Oliver Chick
2012-09-20 13:12 ` Oliver Chick
2012-09-20 13:52 ` Konrad Rzeszutek Wilk
2012-09-20 13:52 ` Konrad Rzeszutek Wilk
2012-09-20 10:34 ` David Vrabel
2012-09-20 10:34 ` [Xen-devel] " David Vrabel
2012-09-20 11:30 ` Oliver Chick
2012-09-20 11:48 ` Jan Beulich
2012-09-20 11:48 ` [Xen-devel] " Jan Beulich
2012-09-20 13:49 ` Konrad Rzeszutek Wilk
2012-09-20 13:49 ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-09-20 14:13 ` Oliver Chick
2012-09-20 16:10 ` Jan Beulich
2012-09-20 16:10 ` Jan Beulich
2012-09-20 21:24 ` Konrad Rzeszutek Wilk
2012-09-20 21:24 ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-09-21 7:18 ` Jan Beulich
2012-09-21 8:41 ` Oliver Chick
2012-09-21 8:41 ` [Xen-devel] " Oliver Chick
2012-09-21 9:41 ` Jan Beulich
2012-09-21 9:41 ` Jan Beulich
2012-09-21 7:18 ` Jan Beulich
2012-09-21 8:10 ` [Xen-devel] " Ian Campbell
2012-09-21 14:26 ` Konrad Rzeszutek Wilk [this message]
2012-09-21 14:26 ` Konrad Rzeszutek Wilk
2012-09-21 8:10 ` Ian Campbell
2012-09-20 14:13 ` Oliver Chick
2012-09-20 15:35 ` [Xen-devel] " Jan Beulich
2012-09-20 15:35 ` Jan Beulich
2012-09-21 12:23 ` David Vrabel
2012-09-21 12:23 ` [Xen-devel] " David Vrabel
2012-09-21 14:27 ` Konrad Rzeszutek Wilk
2012-09-21 16:17 ` David Vrabel
2012-09-21 17:13 ` Konrad Rzeszutek Wilk
2012-09-21 17:13 ` Konrad Rzeszutek Wilk
2012-09-21 16:17 ` David Vrabel
2012-09-21 14:27 ` Konrad Rzeszutek Wilk
2012-09-20 11:30 ` Oliver Chick
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=20120921142630.GA3389@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=david.vrabel@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oliver.chick@citrix.com \
--cc=xen-devel@lists.xen.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.