On Wed, Mar 14, 2012 at 02:34:32PM +0900, Takuya Yoshikawa wrote:
> Marcelo Tosatti wrote:
>
> > guest fault enable dirty logging
> >
> > tdp_page_fault (all _page_fault functions) kvm_set_memory_region
> >
> >
> > level = mapping_level(vcpu, gfn)
> > (
Marcelo Tosatti wrote:
> guest fault enable dirty logging
>
> tdp_page_fault (all _page_fault functions) kvm_set_memory_region
>
>
> level = mapping_level(vcpu, gfn)
> (finds level == 2 or 3)
>
>
> rcu_a
Marcelo Tosatti wrote:
>
> This is a race with hugetlbfs which is not an issue ATM (it is
> hidden by the removal of huge sptes in get_dirty).
Thank you!
I did not notice this possibility at all.
...
> It can be fixed with a preceding patch that checks whether
> slot->dirty_bitmap value chan
On Thu, Mar 01, 2012 at 07:32:16PM +0900, Takuya Yoshikawa wrote:
> Dropped such mappings when we enabled dirty logging and we will never
> create new ones until we stop the logging.
>
> For this we introduce a new function which can be used to write protect
> a range of PT level pages: although w
On 03/13/2012 11:20 AM, Takuya Yoshikawa wrote:
> Avi Kivity wrote:
>
> > It occurs to me that we should write-protect huge page tables, since it
> > makes write protection much faster (we make up for this later at write
> > fault time, but that might not occur, and even if it does we reduce
> > g
Avi Kivity wrote:
> It occurs to me that we should write-protect huge page tables, since it
> makes write protection much faster (we make up for this later at write
> fault time, but that might not occur, and even if it does we reduce
> guest jitter). In fact I once proposed a more involved vari
On 03/01/2012 12:32 PM, Takuya Yoshikawa wrote:
> Dropped such mappings when we enabled dirty logging and we will never
> create new ones until we stop the logging.
>
> For this we introduce a new function which can be used to write protect
> a range of PT level pages: although we do not need to ca
Takuya Yoshikawa wrote:
> Takuya Yoshikawa wrote:
>
> > + while (mask) {
> > + rmapp = &slot->rmap[gfn_offset + __ffs(mask)];
> > + __rmap_write_protect(kvm, rmapp, PT_PAGE_TABLE_LEVEL);
> >
> > - return write_protected;
> > + /* clear the first set bit */
>
Takuya Yoshikawa wrote:
> + while (mask) {
> + rmapp = &slot->rmap[gfn_offset + __ffs(mask)];
> + __rmap_write_protect(kvm, rmapp, PT_PAGE_TABLE_LEVEL);
>
> - return write_protected;
> + /* clear the first set bit */
> + mask &= mask - 1;
Dropped such mappings when we enabled dirty logging and we will never
create new ones until we stop the logging.
For this we introduce a new function which can be used to write protect
a range of PT level pages: although we do not need to care about a range
of pages at this point, the following pa
Dropped such mappings when we enabled dirty logging and we will never
create new ones until we stop the logging.
For this we introduce a new function which can be used to write protect
a range of PT level pages: although we do not need to care about a range
of pages at this point, the following pa
11 matches
Mail list logo