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.
>
next prev parent 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).