> > > Sorry, why do I think what? That ram_addr_t is not guaranteed to > > > equal GPA of the block? > > > > > > > I mean why do you think that's can't guaranteed to work. > > Yes, ram_addr_t is not guaranteed to equal GPA of the block. But I > > didn't use them as GPA. The code in the filter_out_guest_free_pages() > > in my patch just follow the style of the latest change of > ram_list.dirty_memory[]. > > > > The free page bitmap got from the guest in my RFC patch has been > > filtered out the 'hole', so the bit N of the free page bitmap and the > > bit N in ram_list.dirty_memory[DIRTY_MEMORY_MIGRATION]->blocks are > > corresponding to the same guest page. Right? > > If it's true, I think I am doing the right thing? > > > > > > Liang > > There's no guarantee that there's a single 'hole' > even on the PC, and we want balloon to be portable. > As long as we know how many 'hole' and where the holes are. we can filter out them. QEMU should have this kind of information. I know my RFC patch passed an arch specific free page bitmap is not a good idea. So in my design, I changed this by passing a loose free page bitmap which contains the holes, and let QEMU to filter out the holes according to some arch specific information. This can make balloon be portable. > So I'm not sure I understand what your patch is doing, do you mean you pass > the GPA to ram addr mapping from host to guest? > No, my patch passed the 'lowmem', which helps to filter out the hole from host to guest. The design has changed this. > That can be made to work but it's not a good idea, and I don't see why would > it be faster than doing the same translation host side. > It's faster because there is no address translation, most of them are bitmap operation. Liang > > > > E.g. HACKING says: > > > Use hwaddr for guest physical addresses except pcibus_t > > > for PCI addresses. In addition, ram_addr_t is a QEMU internal > > > address > > > space that maps guest RAM physical addresses into an intermediate > > > address space that can map to host virtual address spaces. > > > > > > > > > -- -- 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