From: Jan Kiszka <jan.kiszka@web.de>
To: Huang Ying <ying.huang@intel.com>
Cc: Avi Kivity <avi@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Andi Kleen <andi@firstfloor.org>,
Dean Nelson <dnelson@redhat.com>
Subject: Re: [RFC 2/2] KVM, MCE, unpoison memory address across reboot
Date: Wed, 05 Jan 2011 09:14:52 +0100 [thread overview]
Message-ID: <4D24287C.3040003@web.de> (raw)
In-Reply-To: <1294209951.22308.340.camel@yhuang-dev>
[-- Attachment #1: Type: text/plain, Size: 2693 bytes --]
Am 05.01.2011 07:45, Huang Ying wrote:
> On Fri, 2010-12-31 at 17:10 +0800, Jan Kiszka wrote:
>> Am 31.12.2010 06:22, Huang Ying wrote:
>>> In Linux kernel HWPoison processing implementation, the virtual
>>> address in processes mapping the error physical memory page is marked
>>> as HWPoison. So that, the further accessing to the virtual
>>> address will kill corresponding processes with SIGBUS.
>>>
>>> If the error physical memory page is used by a KVM guest, the SIGBUS
>>> will be sent to QEMU, and QEMU will simulate a MCE to report that
>>> memory error to the guest OS. If the guest OS can not recover from
>>> the error (for example, the page is accessed by kernel code), guest OS
>>> will reboot the system. But because the underlying host virtual
>>> address backing the guest physical memory is still poisoned, if the
>>> guest system accesses the corresponding guest physical memory even
>>> after rebooting, the SIGBUS will still be sent to QEMU and MCE will be
>>> simulated. That is, guest system can not recover via rebooting.
>>>
>>> In fact, across rebooting, the contents of guest physical memory page
>>> need not to be kept. We can allocate a new host physical page to
>>> back the corresponding guest physical address.
>>>
>>> This patch fixes this issue in QEMU-KVM via calling qemu_ram_remap()
>>> to clear the corresponding page table entry, so that make it possible
>>> to allocate a new page to recover the issue.
>>>
>>> Signed-off-by: Huang Ying <ying.huang@intel.com>
>>> ---
>>> kvm.h | 2 ++
>>> qemu-kvm.c | 37 +++++++++++++++++++++++++++++++++++++
>>
>> What's missing in upstream to make this a uq/master patch? We are still
>> piling up features and fixes in qemu-kvm* that should better target
>> upstream directly. That's work needlessly done twice.
>
> OK. I will do that. Just based on uq/master is sufficient to make it an
> upstream patch?
This how things work: You base your upstream changes onto uq/master,
they get picked up and then merged into qemu, qemu-kvm merges upstream
back, and then you have your bits ready in both trees. Sometimes it
takes some additional tweaking the qemu-kvm after the merge, but I hope
we can significantly reduce the need for that very soon.
>
>> Is this infrastructure really arch-independent? Will there be other
>> users besides x86? If not, better keep it in target-i386/kvm.c.
>
> No. It is used only in x86. I will move it into target-i386/kvm.c.
>
Perfect. Then you just need to extend kvm_arch_init_vcpu with your reset
registration, and both upstream and qemu-kvm will gain the feature
automatically.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
prev parent reply other threads:[~2011-01-05 8:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-31 5:22 [RFC 2/2] KVM, MCE, unpoison memory address across reboot Huang Ying
2010-12-31 9:10 ` Jan Kiszka
2011-01-05 6:45 ` Huang Ying
2011-01-05 8:14 ` Jan Kiszka [this message]
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=4D24287C.3040003@web.de \
--to=jan.kiszka@web.de \
--cc=andi@firstfloor.org \
--cc=avi@redhat.com \
--cc=dnelson@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ying.huang@intel.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