From: "Jan Beulich" <JBeulich@novell.com>
To: Keir Fraser <keir.xen@gmail.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 0/5] x86: properly propagate errors to hypercall callee
Date: Wed, 09 Mar 2011 11:21:44 +0000 [thread overview]
Message-ID: <4D7770D802000078000357C9@vpn.id2.novell.com> (raw)
In-Reply-To: <C99D1005.145F1%keir.xen@gmail.com>
>>> On 09.03.11 at 12:07, Keir Fraser <keir.xen@gmail.com> wrote:
> On 09/03/2011 10:53, "Jan Beulich" <JBeulich@novell.com> wrote:
>
>> This patch set makes it so that not only the offending BUG() gets
>> eliminated, but also properly propagates the error to the guest,
>> so that the latter can take action (which will itself require quite
>> some changes to prevent crashing the guest in that situation,
>> particularly where utilizing Xen's writeable page table support).
>
> Presumably this is from shattering superpage mappings when per-page cache
> attributes change in response to a guest mapping a page with, for example,
> non-WB attributes?
Correct - observed with the radeon drm driver.
> It seems unfortunate to propagate this to guests. Perhaps we should be
> making a memory pool for Xen's 1:1 mappings, big enough to allow a 4kB
> mapping of every page of RAM in the system, and allocate/free pagetables to
> that pool? The overhead of this would be no more than 0.2% of system memory,
> which seems reasonable to avoid an error case that is surely hard for a
> guest to react to or fix.
I considered this too, but wasn't convinced that's a good thing to
do, no matter that the overhead is only a very small percentage.
After all, one of the two points to make use of superpages is to
not waste memory needlessly on page tables, the more that on a
typical server you'd unlikely see many RAM pages get non-WB
caching attributes set on them.
That said, I nevertheless agree (and attempted to indicate that way
in the description) that the kernel side changes may be non-trivial.
Otoh, keeping the logic simple in Xen may also be beneficial.
And, not the least, even if you indeed want to go with the pool
approach you suggest, the changes in this patch set are likely
good to have independently - just that they wouldn't need
backporting to 4.1 and 4.0 if they turn out to be mere cleanup.
Jan
next prev parent reply other threads:[~2011-03-09 11:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-09 10:53 [PATCH 0/5] x86: properly propagate errors to hypercall callee Jan Beulich
2011-03-09 11:07 ` Keir Fraser
2011-03-09 11:21 ` Jan Beulich [this message]
2011-03-09 13:44 ` Keir Fraser
2011-03-09 14:20 ` Jan Beulich
2011-03-09 15:10 ` Konrad Rzeszutek Wilk
2011-03-09 15:40 ` Jan Beulich
2011-03-11 9:25 ` Jan Beulich
2011-03-11 9:45 ` Keir Fraser
2011-03-11 10:44 ` Jan Beulich
2011-03-11 12:33 ` Keir Fraser
2011-03-15 12:29 ` Jan Beulich
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=4D7770D802000078000357C9@vpn.id2.novell.com \
--to=jbeulich@novell.com \
--cc=keir.xen@gmail.com \
--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).