From: Anthony Liguori <aliguori@us.ibm.com>
To: "King, Steven R" <steven.r.king@intel.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
xen-devel <xen-devel@lists.xensource.com>
Subject: Re: yanked share, round 2
Date: Fri, 13 Jan 2006 15:31:59 -0600 [thread overview]
Message-ID: <43C81C4F.3000202@us.ibm.com> (raw)
In-Reply-To: <44BDAFB888F59F408FAE3CC35AB4704102C267F8@orsmsx409>
King, Steven R wrote:
>I would like hear your ideas for who manages the pool and how the pool
>avoids becoming depleted.
>
>
I won't take credit for this as it is Rusty's idea actually :-)
Depletion can be handled by setting a maximum amount of shared memory
per-domain (2MB for instance). Then as long as there is enough free
memory to satisfy the per-domain sharing requirement, you're fine.
The memory can be allocated straight from the xen heap and referenced
counted such that it is returned back to the heap when the last user
stops sharing it. The 2MB limit would be somewhat virtual since the
same page would be factored into every domain's actual limit who had a
reference to the page.
This is my understand at least, perhaps Rusty can clarify with what he
was thinking.
>In addition to avoiding the ownership problem, I see another nice
>advantage:
>The third party (Xen? a DomP?) can hand up to the DomU's a nice tidy key
>value representing the shared pages, which is very similar to the way
>SysV IPC memory sharing works.
>
>
Precisely :-)
Regards,
Anthony Liguori
>-steve
>
>-----Original Message-----
>From: Anthony Liguori [mailto:aliguori@us.ibm.com]
>Sent: Friday, January 13, 2006 11:35 AM
>To: King, Steven R
>Cc: xen-devel@lists.xensource.com
>Subject: Re: [Xen-devel] yanked share, round 2
>
>You avoid zombies and either side can break the sharing without causing
>harm to the other side. Domains restarting are transparent to either
>end (the restarting domain just reattachs and keeps going). It avoids
>the general ownership problem altogether.
>
>Regards,
>
>Anthony Liguori
>
>King, Steven R wrote:
>
>
>
>>Hi Anthony -- Can you explain why this is ideal? I prefer that sharers
>>
>>
>
>
>
>>and mappers have their own skin the game--that way, Xen doesn't have to
>>
>>
>
>
>
>>manage a pool and nobody has to worry about the pool being depleted.
>>
>>-----Original Message-----
>>From: Anthony Liguori [mailto:aliguori@us.ibm.com]
>>Sent: Friday, January 13, 2006 11:23 AM
>>To: King, Steven R
>>Cc: xen-devel@lists.xensource.com
>>Subject: Re: [Xen-devel] yanked share, round 2
>>
>>An ideal solution to this problem would be to keep a separate pool of
>>shared memory that neither domain owned. That removes any concerns
>>about ownership.
>>
>>Regards,
>>
>>Anthony Liguori
>>
>>King, Steven R wrote:
>>
>>
>>
>>
>>
>>>Hi folks,
>>>A previous thread discussed complications around DomU's sharing memory
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>>pages with each other:
>>>http://lists.xensource.com/archives/html/xen-devel/2005-12/msg00499.ht
>>>ml
>>>
>>>To summarize, DomU's get into trouble, e.g. unable to shutdown, unless
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>>the remote DomU's play nice. Since DomU's do not trust each other,
>>>that is problematic. I'd like to discuss how to clean away this
>>>dependency.
>>>
>>>Here's one idea. The goal is to robustly decouple the sharing and
>>>remote domains.
>>>
>>>Grant tables add a new GTF_safe flag, settable by the sharing DomU.
>>>In order to map a GTF_safe page, a remote domain must provide a page
>>>of its own, which I'll call an "under page".
>>>Xen holds the under-page on behalf of the remote DomU and maps the
>>>shared page into the remote DomU's machine.
>>>At any time, the sharing DomU can unshare the page, crash, etc, which
>>>ends ALL foreign access to that page, not just new mappings.
>>>For each remote domain that still maps the unshared page, Xen maps the
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>>remote's under-page in place of the unshared page.
>>>The remote domain can unmap at any time and recover its under-page.
>>>
>>>The purpose of the under-page is to plug the memory hole in the remote
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>>DomU created by a surprise unsharing. A nervous remote DomU could
>>>check that a share is GTF_safe before proceeding to map the page.
>>>
>>>Good, bad or ugly?
>>>-steve
>>>
>>>
>>>
>>>
>>>----------------------------------------------------------------------
>>>-
>>>-
>>>
>>>_______________________________________________
>>>Xen-devel mailing list
>>>Xen-devel@lists.xensource.com
>>>http://lists.xensource.com/xen-devel
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
next prev parent reply other threads:[~2006-01-13 21:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-13 21:25 yanked share, round 2 King, Steven R
2006-01-13 21:31 ` Anthony Liguori [this message]
2006-01-14 16:15 ` Mark Williamson
-- strict thread matches above, loose matches on Subject: below --
2006-01-13 23:02 King, Steven R
2006-01-14 0:21 ` Keir Fraser
2006-01-14 16:16 ` Mark Williamson
2006-01-14 3:34 ` Rusty Russell
2006-01-13 20:59 King, Steven R
2006-01-13 19:55 King, Steven R
2006-01-13 20:08 ` Keir Fraser
2006-01-14 16:21 ` Mark Williamson
2006-01-13 19:31 King, Steven R
2006-01-13 19:35 ` Anthony Liguori
2006-01-13 19:07 King, Steven R
2006-01-13 19:21 ` Keir Fraser
2006-01-13 19:23 ` Anthony Liguori
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=43C81C4F.3000202@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=rusty@rustcorp.com.au \
--cc=steven.r.king@intel.com \
--cc=xen-devel@lists.xensource.com \
/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.