lkml.org 
[lkml]   [2010]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH RFC 10/12] KVM: move dirty bitmaps to user space

>> r = 0;
>> @@ -1195,11 +1232,16 @@ void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
>> gfn = unalias_gfn(kvm, gfn);
>> memslot = gfn_to_memslot_unaliased(kvm, gfn);
>> if (memslot&& memslot->dirty_bitmap) {
>> - unsigned long rel_gfn = gfn - memslot->base_gfn;
>> + int nr = generic_le_bit_offset(gfn - memslot->base_gfn);
>>
>> - generic___set_le_bit(rel_gfn, memslot->dirty_bitmap);
>> + if (kvm_set_bit_user(nr, memslot->dirty_bitmap))
>> + goto out_fault;
>
> mark_page_dirty is called with the mmu_lock spinlock held in set_spte.
> Must find a way to move it outside of the spinlock section.
>

Oh, it's a serious problem. I have to consider it.


Thanks,
Takuya


\
 
 \ /
  Last update: 2010-05-12 09:53    [W:0.074 / U:3.460 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site