On Tue, 2010-12-28 at 16:27 +0800, Gleb Natapov wrote:
> On Mon, Dec 27, 2010 at 07:27:54PM -0200, Marcelo Tosatti wrote:
> > 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.
> > 
> Don't we break huge page to 4k pages during poisoning?

Yes.  That has not been implemented yet.  So in fact, we can not deal
with hwpoison+hugetlb in kvm now.

Best Regards,
Huang Ying


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to