xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Cc: andres@gridcentric.ca, xen-devel@lists.xensource.com,
	adin@gridcentric.ca
Subject: Re: [PATCH 0 of 3] Update paging/sharing/access interfaces v2
Date: Fri, 10 Feb 2012 16:13:57 +0000	[thread overview]
Message-ID: <20120210161357.GF32107@ocelot.phlegethon.org> (raw)
In-Reply-To: <patchbomb.1328767705@xdev.gridcentric.ca>

At 01:08 -0500 on 09 Feb (1328749705), Andres Lagar-Cavilla wrote:
> i(Was switch from domctl to memops)
> Changes from v1 posted Feb 2nd 2012
> 
> - Patches 1 & 2 Acked-by Tim Deegan on the hypervisor side
> - Added patch 3 to clean up the enable domctl interface, based on
>   discussion with Ian Campbell
> 
> Description from original post follows:
> 
> Per page operations in the paging, sharing, and access tracking subsystems are
> all implemented with domctls (e.g. a domctl to evict one page, or to share one
> page).
> 
> Under heavy load, the domctl path reveals a lack of scalability. The domctl
> lock serializes dom0's vcpus in the hypervisor. When performing thousands of
> per-page operations on dozens of domains, these vcpus will spin in the
> hypervisor. Beyond the aggressive locking, an added inefficiency of blocking
> vcpus in the domctl lock is that dom0 is prevented from re-scheduling any of
> its other work-starved processes.
> 
> We retain the domctl interface for setting up and tearing down
> paging/sharing/mem access for a domain. But we migrate all the per page
> operations to use the memory_op hypercalls (e.g XENMEM_*).
> 
> This is a backwards-incompatible ABI change. It's been floating on the list for
> a couple weeks now, with no nacks thus far.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla>
> Signed-off-by: Adin Scannell <adin@scannell.ca>

Applied 1 and 2; thanks.

I'll leave patch 3 for others to comment -- I know there are out-of-tree
users of the mem-access interface, and changing the hypercalls is less
disruptive than changing the libxc interface.

Tim.

  parent reply	other threads:[~2012-02-10 16:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09  6:08 [PATCH 0 of 3] Update paging/sharing/access interfaces v2 Andres Lagar-Cavilla
2012-02-09  6:08 ` [PATCH 1 of 3] Use memops for mem paging, sharing, and access, instead of domctls Andres Lagar-Cavilla
2012-02-09 17:21   ` Ian Jackson
2012-02-09 20:33     ` Andres Lagar-Cavilla
2012-02-09  6:08 ` [PATCH 2 of 3] x86/mm: New sharing audit memop Andres Lagar-Cavilla
2012-02-09 17:04   ` Ian Jackson
2012-02-09  6:08 ` [PATCH 3 of 3] Tools: Sanitize mem_event/access/paging interfaces Andres Lagar-Cavilla
2012-02-10 16:13 ` Tim Deegan [this message]
2012-02-10 18:13   ` [PATCH 0 of 3] Update paging/sharing/access interfaces v2 Andres Lagar-Cavilla
2012-02-10 19:45     ` Olaf Hering
2012-02-10 20:04       ` Keir Fraser
2012-02-10 20:11         ` Andres Lagar-Cavilla
2012-02-10 20:29           ` Keir Fraser

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=20120210161357.GF32107@ocelot.phlegethon.org \
    --to=tim@xen.org \
    --cc=adin@gridcentric.ca \
    --cc=andres@gridcentric.ca \
    --cc=andres@lagarcavilla.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).