Avi Kivity wrote: > Dong, Eddie wrote: > >> There are couple reasons that g2h can't server this. >> A VT-d device or EPT/NPT table need to translate from guest physical >> to machine physical address, while g2h uses host mode va as index. >> Other reason is that g2h also include host user space memory & kernel >> memory which guest should never touch. (A bad programmed VT-d device >> may modify the memory listed by VT-d table). >> >> >> > > For EPT, we can't use the host page tables because EPT does not support > the dirty bit. So EPT requires duplication of the page tables anyway. >
EPT fill in the dirty bit? To track dirty memory, you would have to read protect portions of the EPT? That seems quite unfortunate... Regards, Anthony Liguori >> Dirty tracking can certainly be serviced even using p2m solely. >> >> >> >>> User-allocated memory will enable the following features: >>> - s390 support >>> - guest swapping >>> - page migration (where a guest is migrated from one NUMA node >>> to another) >>> - in conjunction with a de-duplicating file system, page sharing >>> among guests >>> - inter-guest shared memory (mmap() one file in two or more guests) >>> - easier use of huge pages >>> - more? >>> >>> >>> >> This doesn't conflict with my suggestion though the p2m table then >> need to be dynamically modifed in case swapping happens. >> >> > > The nice thing about using the host page tables is that it's > automatically updated to reflect changes in mapping. Translating a page > (gfn_to_page) becomes a call to get_user_pages(). > > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kvm-devel
