Immediately mark memory as DONOTNEED to drop references
diff --git a/arm/kvm.c b/arm/kvm.c
index 80893f7..4502f60 100644
--- a/arm/kvm.c
+++ b/arm/kvm.c
@@ -128,6 +128,7 @@
die_perror("kernel read");
}
+ madvise(pos, file_size, MADV_DONTNEED);
kernel_size = kvm__arch_get_kernel_size(kvm);
if (!kernel_size || kernel_size < (u64)file_size)
@@ -182,6 +183,7 @@
die_perror("initrd read");
}
+ madvise(pos, file_size, MADV_DONTNEED);
kvm->arch.initrd_guest_start = initrd_start;
kvm->arch.initrd_size = file_size;
@@ -240,6 +242,7 @@
fw_sz = read_file(fd, host_pos, limit - host_pos);
if (fw_sz < 0)
die("failed to load firmware");
+ madvise(host_pos, fw_sz, MADV_DONTNEED);
close(fd);
/* Kernel isn't loaded by kvm, point start address to firmware */