From: David Vrabel <david.vrabel@citrix.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: <xen-devel@lists.xenproject.org>,
Michael Holzheu <holzheu@linux.vnet.ibm.com>,
<linux-kernel@vger.kernel.org>, Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [Xen-devel] [PATCH] mmap_vmcore: skip non-ram pages reported by hypervisors
Date: Tue, 8 Jul 2014 17:25:58 +0100 [thread overview]
Message-ID: <53BC1B96.3070101@citrix.com> (raw)
In-Reply-To: <20140707133301.dfcc078f416efeb1ada72da9@linux-foundation.org>
On 07/07/14 21:33, Andrew Morton wrote:
> On Mon, 7 Jul 2014 17:05:49 +0200 Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>
>> we have a special check in read_vmcore() handler to check if the page was
>> reported as ram or not by the hypervisor (pfn_is_ram()). However, when
>> vmcore is read with mmap() no such check is performed. That can lead to
>> unpredictable results, e.g. when running Xen PVHVM guest memcpy() after
>> mmap() on /proc/vmcore will hang processing HVMMEM_mmio_dm pages creating
>> enormous load in both DomU and Dom0.
Does make forward progress though? Or is it ending up in a repeatedly
retrying the same instruction?
Is it failing on a ballooned page in a RAM region? Or is mapping non-RAM
regions as well?
>> Fix the issue by mapping each non-ram page to the zero page. Keep direct
>> path with remap_oldmem_pfn_range() to avoid looping through all pages on
>> bare metal.
>>
>> The issue can also be solved by overriding remap_oldmem_pfn_range() in
>> xen-specific code, as remap_oldmem_pfn_range() was been designed for.
>> That, however, would involve non-obvious xen code path for all x86 builds
>> with CONFIG_XEN_PVHVM=y and would prevent all other hypervisor-specific
>> code on x86 arch from doing the same override.
The oldmem_pfn_is_ram() is Xen-specific but this problem (ballooned
pages) must be common to KVM. How does KVM handle this?
David
next prev parent reply other threads:[~2014-07-08 16:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-07 15:05 [PATCH] mmap_vmcore: skip non-ram pages reported by hypervisors Vitaly Kuznetsov
2014-07-07 20:33 ` Andrew Morton
2014-07-08 8:08 ` Vitaly Kuznetsov
2014-07-08 8:08 ` Vitaly Kuznetsov
2014-07-08 16:25 ` David Vrabel [this message]
2014-07-09 9:17 ` Vitaly Kuznetsov
2014-07-09 9:17 ` [Xen-devel] " Vitaly Kuznetsov
2014-07-09 9:46 ` David Vrabel
2014-07-09 9:46 ` David Vrabel
2014-07-08 16:25 ` David Vrabel
2014-07-07 20:33 ` Andrew Morton
2014-07-08 16:29 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-07-09 9:23 ` Vitaly Kuznetsov
2014-07-09 9:23 ` [Xen-devel] " Vitaly Kuznetsov
2014-07-08 16:29 ` Konrad Rzeszutek Wilk
2014-07-08 19:11 ` Vivek Goyal
2014-07-08 19:11 ` Vivek Goyal
2014-07-09 9:46 ` Vitaly Kuznetsov
2014-07-09 9:46 ` Vitaly Kuznetsov
2014-07-09 10:12 ` [Xen-devel] " Olaf Hering
2014-07-09 10:12 ` Olaf Hering
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=53BC1B96.3070101@citrix.com \
--to=david.vrabel@citrix.com \
--cc=akpm@linux-foundation.org \
--cc=holzheu@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=vgoyal@redhat.com \
--cc=vkuznets@redhat.com \
--cc=xen-devel@lists.xenproject.org \
/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.