![]() | |||||||||||
Messages in this thread Complete thread (EXPERIMENTAL)Patch in this message |
Ioan Ionita wrote:
Hi,
I'm using KVM and the qemu kvm modified to run a windows guest. I'm allocating 900 MB to the guest. Seems that when I terminate a qemu process, the memory that was allocated to qemu is not freed: Mem: 2058140 1739156 318984 0 226944 425140 -/+ buffers/cache: 1087072 971068 Swap: 0 0 0 So I'm using 1GB of ram even though I've terminated qemu. If I attempt to start qemu again, the machine locks up. No message in the logs. Command to start qemu: /usr/local/kvm/bin/qemu-system-x86_64 b.data -no-acpi -m 900 -net nic -net user -hdb temp.raw -usbdevice tablet uname -a Linux ops-desktop 2.6.25-rc5-git5 #1 SMP PREEMPT Sat Mar 15 14:47:25 EET 2008 x86_64 GNU/Linux Not sure whether this is a problem on the kernel side. I don't pretend to understand linux memory management. But it wasn't occurring with older kernels. I'll attempt to bisect. I reproduced this and am investigating. Attached patch ought to fix this. [view this diff only] diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 4ba85d9..e55af12 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -1412,7 +1412,7 @@ static void mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa, up_read(¤t->mm->mmap_sem); vcpu->arch.update_pte.gfn = gfn; - vcpu->arch.update_pte.page = gfn_to_page(vcpu->kvm, gfn); + vcpu->arch.update_pte.page = page; } void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa, -- error compiling committee.c: too many arguments to function | ||||||||||
![]() | |||||||||||
| Last update: 2008-03-23 13:23 [W:0.281 / U:0.030 seconds] ©2003-2005 Jasper Spaans | |||||||||||