All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	<linux-kernel@vger.kernel.org>, <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH RFC 4/4] xen-block: introduce a new request type to unmap grants
Date: Thu, 11 Jul 2013 16:26:59 +0100	[thread overview]
Message-ID: <51DECEC3.7090306@citrix.com> (raw)
In-Reply-To: <51DECB4D.4020009@citrix.com>

On 11/07/13 16:12, Roger Pau Monné wrote:
> On 11/07/13 15:48, David Vrabel wrote:
>> On 10/07/13 10:19, Roger Pau Monné wrote:
>>>
>>> >From 1ede72ba10a7ec13d57ba6d2af54e86a099d7125 Mon Sep 17 00:00:00 2001
>>> From: Roger Pau Monne <roger.pau@citrix.com>
>>> Date: Wed, 10 Jul 2013 10:22:19 +0200
>>> Subject: [PATCH RFC] xen-blkfront: revoke foreign access for grants not
>>>  mapped by the backend
>>> MIME-Version: 1.0
>>> Content-Type: text/plain; charset=UTF-8
>>> Content-Transfer-Encoding: 8bit
>>>
>>> There's no need to keep the foreign access in a grant if it is not
>>> persistently mapped by the backend. This allows us to free grants that
>>> are not mapped by the backend, thus preventing blkfront from hoarding
>>> all grants.
>>>
>>> The main effect of this is that blkfront will only persistently map
>>> the same grants as the backend, and it will always try to use grants
>>> that are already mapped by the backend. Also the number of persistent
>>> grants in blkfront is the same as in blkback (and is controlled by the
>>> value in blkback).
>>
>> Does this place in implicit requirement on the behaviour of the backend.
>>  i.e., the backend must persistently map the first N grants and always
>> unmap the remainder?  If so, this should be clearly documented.
> 
> No, the backend can persistently map whatever grants it wants, and in
> fact we have a LRU in the backend that keeps unmapping a certain amount
> of grants that have not been used over a period of time.

I don't see a mechanism by which the frontend can notice that the
backend has unmapped an unused grant.  It can only notice when a request
using that grant is completed.

>> It also seems odd to have the backend decide how much frontend resource
>> can be consumed at anyone time.  It's not clear how the backend is
>> supposed to know how many persistent grants it should hang on to.
> 
> blkfront has to at least persistently map the same grants as the
> backend. blkfront could persistently map all grants, but then we will
> have grant shortage, and I doubt there's much performance gain from
> persistently mapping grants in blkfront but not blkback (since the
> biggest performance penalty comes from the unmapping done in blkback and
> TLB flush involved).

I'm saying that the frontend needs to be able to set a cap on the number
of persistent grants kept by the backend.  If other demands on a
domain's grant table resource means it can only spare G grants for a
particular frontend it needs to be able to ensure this (with the
cooperation of the backend).

David

  parent reply	other threads:[~2013-07-11 15:30 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-08 13:03 [PATCH RFC 0/4] xen-block: prevent blkfront for hoarding grants Roger Pau Monne
2013-07-08 13:03 ` [PATCH RFC 1/4] xen-gnt: prevent adding duplicate gnt callbacks Roger Pau Monne
2013-07-08 13:03   ` Roger Pau Monne
2013-07-11 13:17   ` David Vrabel
2013-07-11 13:17   ` [Xen-devel] " David Vrabel
2013-07-11 16:23     ` Roger Pau Monné
2013-07-11 16:23     ` [Xen-devel] " Roger Pau Monné
2013-07-08 13:03 ` [PATCH RFC 2/4] xen-blkfront: improve aproximation of required grants per request Roger Pau Monne
2013-07-11 13:20   ` David Vrabel
2013-07-11 13:20   ` [Xen-devel] " David Vrabel
2013-07-11 14:47     ` Roger Pau Monné
2013-07-11 14:47     ` [Xen-devel] " Roger Pau Monné
2013-07-08 13:03 ` Roger Pau Monne
2013-07-08 13:03 ` [PATCH RFC 3/4] xen-blkfront: prevent hoarding all grants Roger Pau Monne
2013-07-11 13:32   ` David Vrabel
2013-07-11 13:32   ` [Xen-devel] " David Vrabel
2013-07-11 14:57     ` Roger Pau Monné
2013-07-11 14:57     ` [Xen-devel] " Roger Pau Monné
2013-07-08 13:03 ` Roger Pau Monne
2013-07-08 13:03 ` [PATCH RFC 4/4] xen-block: introduce a new request type to unmap grants Roger Pau Monne
2013-07-08 19:41   ` Konrad Rzeszutek Wilk
2013-07-09 13:22     ` [Xen-devel] " Wei Liu
2013-07-09 13:22     ` Wei Liu
2013-07-09 16:37     ` Roger Pau Monné
2013-07-09 16:37     ` Roger Pau Monné
2013-07-09 18:32       ` Konrad Rzeszutek Wilk
2013-07-09 18:38         ` [Xen-devel] " Wei Liu
2013-07-09 18:38         ` Wei Liu
2013-07-09 18:32       ` Konrad Rzeszutek Wilk
2013-07-10  9:19     ` Roger Pau Monné
2013-07-10 13:54       ` Egger, Christoph
2013-07-10 13:54       ` [Xen-devel] " Egger, Christoph
2013-07-10 14:46         ` Roger Pau Monné
2013-07-10 14:46         ` Roger Pau Monné
2013-07-10 14:52       ` Konrad Rzeszutek Wilk
2013-07-10 14:52       ` Konrad Rzeszutek Wilk
2013-07-11 13:48       ` David Vrabel
2013-07-11 13:48       ` [Xen-devel] " David Vrabel
2013-07-11 15:12         ` Roger Pau Monné
2013-07-11 15:12           ` Roger Pau Monné
2013-07-11 15:26           ` David Vrabel
2013-07-11 15:26           ` David Vrabel [this message]
2013-07-11 15:48             ` [Xen-devel] " Roger Pau Monné
2013-07-12 10:12               ` David Vrabel
2013-07-12 10:12               ` [Xen-devel] " David Vrabel
2013-07-11 15:48             ` Roger Pau Monné
2013-07-10  9:19     ` Roger Pau Monné
2013-07-08 19:41   ` Konrad Rzeszutek Wilk
2013-07-08 13:03 ` Roger Pau Monne
2013-07-11 13:35 ` [Xen-devel] [PATCH RFC 0/4] xen-block: prevent blkfront for hoarding grants David Vrabel
2013-07-11 13:35 ` David Vrabel
2013-07-31  9:50 ` [Xen-devel] " Roger Pau Monné
2013-07-31 11:27   ` Konrad Rzeszutek Wilk
2013-07-31 11:27   ` [Xen-devel] " Konrad Rzeszutek Wilk
2013-07-31  9:50 ` Roger Pau Monné

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=51DECEC3.7090306@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roger.pau@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.