ANDROID: KVM: arm64: Fix missing KVM stats accounting
The KVM stat protected_hyp_mem give an insight into the hypervisor memory footprint. Sadly, some donations were omitted. Bug: 357781595 Bug: 222044477 Bug: 337946560 Change-Id: I96f97781886b11845c6db798fc39f5389f96375c Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
This commit is contained in:
committed by
Treehugger Robot
parent
0624b02f57
commit
c32849c569
@@ -373,12 +373,21 @@ static int handle_trap_exceptions(struct kvm_vcpu *vcpu)
|
||||
static int handle_hyp_req_mem(struct kvm_vcpu *vcpu,
|
||||
struct kvm_hyp_req *req)
|
||||
{
|
||||
struct kvm *kvm = vcpu->kvm;
|
||||
unsigned long nr_pages;
|
||||
int ret;
|
||||
|
||||
switch (req->mem.dest) {
|
||||
case REQ_MEM_DEST_HYP_ALLOC:
|
||||
return __pkvm_topup_hyp_alloc(req->mem.nr_pages);
|
||||
case REQ_MEM_DEST_VCPU_MEMCACHE:
|
||||
return topup_hyp_memcache(&vcpu->arch.stage2_mc,
|
||||
req->mem.nr_pages, 0);
|
||||
nr_pages = vcpu->arch.stage2_mc.nr_pages;
|
||||
ret = topup_hyp_memcache(&vcpu->arch.stage2_mc,
|
||||
req->mem.nr_pages, 0);
|
||||
nr_pages = vcpu->arch.stage2_mc.nr_pages - nr_pages;
|
||||
atomic64_add(nr_pages << PAGE_SHIFT, &kvm->stat.protected_hyp_mem);
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
pr_warn("Unknown kvm_hyp_req mem dest: %d\n", req->mem.dest);
|
||||
|
||||
Reference in New Issue
Block a user