KVM: Convert kvm_lock to raw_spinlock
Code under this lock requires non-preemptibility. Ensure this also over -rt by converting it to raw spinlock. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:

committed by
Marcelo Tosatti

parent
bd3d1ec3d2
commit
e935b8372c
@@ -3587,7 +3587,7 @@ static int mmu_shrink(struct shrinker *shrink, int nr_to_scan, gfp_t gfp_mask)
|
||||
if (nr_to_scan == 0)
|
||||
goto out;
|
||||
|
||||
spin_lock(&kvm_lock);
|
||||
raw_spin_lock(&kvm_lock);
|
||||
|
||||
list_for_each_entry(kvm, &vm_list, vm_list) {
|
||||
int idx, freed_pages;
|
||||
@@ -3610,7 +3610,7 @@ static int mmu_shrink(struct shrinker *shrink, int nr_to_scan, gfp_t gfp_mask)
|
||||
if (kvm_freed)
|
||||
list_move_tail(&kvm_freed->vm_list, &vm_list);
|
||||
|
||||
spin_unlock(&kvm_lock);
|
||||
raw_spin_unlock(&kvm_lock);
|
||||
|
||||
out:
|
||||
return percpu_counter_read_positive(&kvm_total_used_mmu_pages);
|
||||
|
Reference in New Issue
Block a user