Re: QEMU, MCE, unpoison memory address across reboot

Marcelo Tosatti
2010-12-27T21:28:40Z

On Sun, Dec 26, 2010 at 02:27:26PM +0200, Avi Kivity wrote:
> >> +static void kvm_unpoison_all(void *param)
> >> +{
> >> + HWPoisonPage *page, *next_page;
> >> + unsigned long address;
> >> + KVMState *s = param;
> >> +
> >> + QLIST_FOREACH_SAFE(page,&hwpoison_page_list, list, next_page) {
> >> + address = (unsigned long)page->vaddr;
> >> + QLIST_REMOVE(page, list);
> >> + kvm_vm_ioctl(s, KVM_UNPOISON_ADDRESS, address);
> >> + qemu_free(page);
> >> + }
> >> +}
> >
> >Can't you free and reallocate all guest memory instead, on reboot, if
> >there's a hwpoisoned page? Then you don't need this interface.
> >
>
> Alternatively, MADV_DONTNEED? We already use it for ballooning.

Does not work for hugetlbfs.