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

> 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.

Makes a lot of sense. Thanks.

I don't view this change as sine qua-non, yet, "it would be nice if"...

Is there a timeout mechanism if out-of-tree consumers are not on the ball?

Actually, this hiatus allows me to float a perhaps cleaner way to map the
ring: the known problem is that the pager may die abruptly, and Xen is
still posting events to a page now belonging to some other dom0 process.
This is dealt with in the qemu-dm case by stuffing the ring in an unused
pfn (presumably somewhere in the mmio hole?)

Would that work? Is there a policy for parceling out these "magic pfn's"?

Andres

>
> Tim.
>

  reply	other threads:[~2012-02-10 18: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 ` [PATCH 0 of 3] Update paging/sharing/access interfaces v2 Tim Deegan
2012-02-10 18:13   ` Andres Lagar-Cavilla [this message]
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=59a249b9f97604d7cb364b8edc38c6bf.squirrel@webmail.lagarcavilla.org \
    --to=andres@lagarcavilla.org \
    --cc=adin@gridcentric.ca \
    --cc=andres@gridcentric.ca \
    --cc=ian.campbell@citrix.com \
    --cc=tim@xen.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).