From: Olaf Hering <olaf@aepfle.de>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
andres@gridcentric.ca, tim@xen.org, keir.xen@gmail.com,
jbeulich@suse.com, ian.jackson@citrix.com, adin@gridcentric.ca
Subject: Re: [PATCH 2 of 5] Improve ring management for memory events. Do not lose guest events
Date: Thu, 1 Dec 2011 16:36:35 +0100 [thread overview]
Message-ID: <20111201153635.GA14132@aepfle.de> (raw)
In-Reply-To: <86f622285e1ceb506d0bdbae7cfa9b0b.squirrel@webmail.lagarcavilla.org>
On Wed, Nov 30, Andres Lagar-Cavilla wrote:
> - This isn't a problem that necessitates wait-queues for solving. Just
> careful logic.
>
> - I am not sure what your concerns about the mix are. get_gfn* would call
> populate on a paged out gfn, and then go to sleep if it's a guest vcpu.
> With our patch, the guest vcpu event is guaranteed to go in the ring. vcpu
> pausing will stack (and unwind) properly.
Today I sent my current version of wait queues for mem_event and paging.
Unfortunately the earlier versions of mem_event had bugs which caused
trouble also for the paging change.
Please have a look wether my changes work for you.
I see you have a change to mem_event_get_response() which pulls all
requests instead of just one. Thats currently a noop for paging, but
it will be used once paging can get rid of the domctls.
I added p2m_mem_paging_wait() which calls p2m_mem_paging_populate(),
then goes to sleep until p2m_mem_paging_get_entry() indicates the gfn is
back. If I understand your change correctly a guest vcpu can always
place a request. If p2m_mem_paging_populate() happens to fail to put a
request, what is supposed to happen in p2m_mem_paging_wait()? Should it
skip the wait_event() and return to its caller?
With my implementation both p2m_mem_paging_wait() and
p2m_mem_paging_populate() will stop exectution until either the gfn is
back or if there is room in the buffer. There is no need for exit
code handling.
Olaf
next prev parent reply other threads:[~2011-12-01 15:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 21:55 [PATCH 0 of 5] Memory event interface improvements Andres Lagar-Cavilla
2011-11-29 21:55 ` [PATCH 1 of 5] Allow decrease_reservation to be preempted if remove_page returns negative Andres Lagar-Cavilla
2011-11-29 21:55 ` [PATCH 2 of 5] Improve ring management for memory events. Do not lose guest events Andres Lagar-Cavilla
2011-11-30 12:58 ` Olaf Hering
2011-11-30 15:11 ` Andres Lagar-Cavilla
2011-12-01 15:36 ` Olaf Hering [this message]
2011-12-01 14:51 ` Olaf Hering
2011-12-01 15:25 ` Andres Lagar-Cavilla
2011-12-05 11:23 ` Olaf Hering
2011-12-05 15:27 ` Andres Lagar-Cavilla
2011-12-01 18:10 ` Tim Deegan
2011-12-01 10:19 ` Keir Fraser
2011-12-01 18:27 ` Andres Lagar-Cavilla
2011-12-01 18:23 ` Andres Lagar-Cavilla
2011-11-29 21:55 ` [PATCH 3 of 5] Create a generic callback mechanism for Xen-bound event channels Andres Lagar-Cavilla
2011-11-29 21:55 ` [PATCH 4 of 5] Make the prototype of p2m_mem_access_resume consistent Andres Lagar-Cavilla
2011-12-01 18:01 ` Tim Deegan
2011-12-01 18:05 ` Andres Lagar-Cavilla
2011-11-29 21:55 ` [PATCH 5 of 5] Allow memevent responses to be signaled via the event channel Andres Lagar-Cavilla
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=20111201153635.GA14132@aepfle.de \
--to=olaf@aepfle.de \
--cc=adin@gridcentric.ca \
--cc=andres@gridcentric.ca \
--cc=andres@lagarcavilla.org \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir.xen@gmail.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 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.