Skip to content

Commit

Permalink
KVM: MMU: cleanup for __mmu_unsync_walk()
Browse files Browse the repository at this point in the history
Decrease sp->unsync_children after clear unsync_child_bitmap bit

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
  • Loading branch information
Xiao Guangrong authored and Avi Kivity committed Aug 1, 2010
1 parent be71e06 commit ebdea63
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions arch/x86/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1160,9 +1160,11 @@ static int __mmu_unsync_walk(struct kvm_mmu_page *sp,
return -ENOSPC;

ret = __mmu_unsync_walk(child, pvec);
if (!ret)
if (!ret) {
__clear_bit(i, sp->unsync_child_bitmap);
else if (ret > 0)
sp->unsync_children--;
WARN_ON((int)sp->unsync_children < 0);
} else if (ret > 0)
nr_unsync_leaf += ret;
else
return ret;
Expand All @@ -1176,8 +1178,6 @@ static int __mmu_unsync_walk(struct kvm_mmu_page *sp,
}
}

if (find_first_bit(sp->unsync_child_bitmap, 512) == 512)
sp->unsync_children = 0;

return nr_unsync_leaf;
}
Expand Down

0 comments on commit ebdea63

Please sign in to comment.