Skip to contentSkip to conversation

KVM: cleanup kvm_get_dirty_log()

PATCH In review Xiao Guangrong 2 participants 3 messages Mar 17, 2010 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 KVM: cleanup kvm_get_dirty_log()

Using bitmap_empty() to see whether memslot->dirty_bitmap is empty

---
 virt/kvm/kvm_main.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
virt/kvm/kvm_main.c +2 -4
index bcd08b8..497ae14 100644
@@ -767,8 +767,7 @@ int kvm_get_dirty_log(struct kvm *kvm,
 			struct kvm_dirty_log *log, int *is_dirty)
 {
 	struct kvm_memory_slot *memslot;
-	int r, i;
-	int n;
+	int r, n;
 	unsigned long any = 0;
 
 	r = -EINVAL;
@@ -782,8 +781,7 @@ int kvm_get_dirty_log(struct kvm *kvm,
 
 	n = ALIGN(memslot->npages, BITS_PER_LONG) / 8;
 
-	for (i = 0; !any && i < n/sizeof(long); ++i)
-		any = memslot->dirty_bitmap[i];
+	any = !bitmap_empty(memslot->dirty_bitmap, memslot->npages);
 
 	r = -EFAULT;
 	if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n))
Signature · 1 line
1.6.1.2
#1 lore raw
Quoted 2 lines · Xiao Guangrong

Using bitmap_empty() to see whether memslot->dirty_bitmap is empty

You can do this for arch specific get_dirty_log() too.

Quoted 10 lines
---
 virt/kvm/kvm_main.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
virt/kvm/kvm_main.c +0 -0
index bcd08b8..497ae14 100644

virt/kvm/kvm_main.c int kvm_get_dirty_log(struct kvm *kvm, · line 771

Quoted 7 lines
virt/kvm/kvm_main.c +1 -2
@@ -767,8 +767,7 @@ int kvm_get_dirty_log(struct kvm *kvm,
 			struct kvm_dirty_log *log, int *is_dirty)
 {
 	struct kvm_memory_slot *memslot;
-	int r, i;
-	int n;
+	int r, n;
 	unsigned long any = 0;

any is no longer need to be unsigned long, if you do this?

Quoted 12 lines
virt/kvm/kvm_main.c +1 -2
 	r = -EINVAL;
@@ -782,8 +781,7 @@ int kvm_get_dirty_log(struct kvm *kvm,
 
 	n = ALIGN(memslot->npages, BITS_PER_LONG) / 8;
 
-	for (i = 0; !any && i < n/sizeof(long); ++i)
-		any = memslot->dirty_bitmap[i];
+	any = !bitmap_empty(memslot->dirty_bitmap, memslot->npages);
 
 	r = -EFAULT;
 	if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n))
#2 lore raw
Quoted 5 lines · Takuya Yoshikawa
Quoted 2 lines · Xiao Guangrong

Using bitmap_empty() to see whether memslot->dirty_bitmap is empty

You can do this for arch specific get_dirty_log() too.

OK, i'll do it in the next version

Quoted 6 lines
Quoted 6 lines
---
 virt/kvm/kvm_main.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
Quoted 14 lines

virt/kvm/kvm_main.c int kvm_get_dirty_log(struct kvm *kvm, · line 771

Quoted 12 lines
virt/kvm/kvm_main.c +1 -2
index bcd08b8..497ae14 100644
@@ -767,8 +767,7 @@ int kvm_get_dirty_log(struct kvm *kvm,
             struct kvm_dirty_log *log, int *is_dirty)
 {
     struct kvm_memory_slot *memslot;
-    int r, i;
-    int n;
+    int r, n;
     unsigned long any = 0;

any is no longer need to be unsigned long, if you do this?

Yeah, right, thanks for you point out.

Xiao