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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html