From: Olaf Hering <olaf@aepfle.de>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Cc: andres@gridcentric.ca, xen-devel@lists.xensource.com,
tim@xen.org, adin@gridcentric.ca
Subject: Re: [PATCH] x86/mm: Improve ring management for memory events. Do not lose guest events
Date: Mon, 16 Jan 2012 16:04:44 +0100 [thread overview]
Message-ID: <20120116150444.GA30327@aepfle.de> (raw)
In-Reply-To: <a85e7d46401b1d419629.1326306504@xdev.gridcentric.ca>
On Wed, Jan 11, Andres Lagar-Cavilla wrote:
> @@ -898,7 +902,7 @@ void p2m_mem_paging_drop_page(struct dom
> * already sent to the pager. In this case the caller has to try again until the
> * gfn is fully paged in again.
> */
> -void p2m_mem_paging_populate(struct domain *d, unsigned long gfn)
> +int p2m_mem_paging_populate(struct domain *d, unsigned long gfn)
> {
> struct vcpu *v = current;
> mem_event_request_t req;
What is the reason to return an error here? None of the callers need to
check it because they already know their condition (which is
p2m_is_paging()). And your patch doesnt seem to update them. Foreigners
try again, requests from the target domain do currently also try again
until my change to use wait queues in gfn_to_mfn* is finished. And even
then the call p2m_mem_paging_populate() will most likely remain a
one-shot/must-succeed thing if the request is from the target domain.
The only condition to care about in p2m_mem_paging_populate() is -ENOSYS
from mem_event_claim_slot(), which your patch already handles by
crashing the guest. Since the guest is in an kind-of undefined state
anyway if the pager disappears while some gfns are still in paging state,
this is one of the possible actions.
Olaf
next prev parent reply other threads:[~2012-01-16 15:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-11 18:28 [PATCH] x86/mm: Improve ring management for memory events. Do not lose guest events Andres Lagar-Cavilla
2012-01-12 11:56 ` Tim Deegan
2012-01-12 16:05 ` Andres Lagar-Cavilla
2012-01-13 9:50 ` Olaf Hering
2012-01-13 15:14 ` Andres Lagar-Cavilla
2012-01-13 19:57 ` Olaf Hering
2012-01-13 20:05 ` Andres Lagar-Cavilla
2012-01-16 15:08 ` Olaf Hering
2012-01-16 16:22 ` Olaf Hering
2012-01-16 15:04 ` Olaf Hering [this message]
2012-01-16 15:08 ` Andres Lagar-Cavilla
2012-01-16 15:10 ` Olaf Hering
2012-01-16 15:22 ` Olaf Hering
-- strict thread matches above, loose matches on Subject: below --
2012-01-16 15:39 Andres Lagar-Cavilla
2012-01-16 15:41 ` Olaf Hering
2012-01-19 10:39 ` Tim Deegan
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=20120116150444.GA30327@aepfle.de \
--to=olaf@aepfle.de \
--cc=adin@gridcentric.ca \
--cc=andres@gridcentric.ca \
--cc=andres@lagarcavilla.org \
--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.