> -----Original Message----- > From: Marc Zyngier <maz@xxxxxxxxxx> > Sent: Friday, September 3, 2021 2:12 AM > To: Justin He <Justin.He@xxxxxxx> > Cc: James Morse <James.Morse@xxxxxxx>; Alexandru Elisei > <Alexandru.Elisei@xxxxxxx>; Suzuki Poulose <Suzuki.Poulose@xxxxxxx>; > Catalin Marinas <Catalin.Marinas@xxxxxxx>; Will Deacon <will@xxxxxxxxxx>; > Liu Shixin <liushixin2@xxxxxxxxxx>; Eric Auger <eric.auger@xxxxxxxxxx>; > Kees Cook <keescook@xxxxxxxxxxxx>; Nick Desaulniers > <ndesaulniers@xxxxxxxxxx>; Shenming Lu <lushenming@xxxxxxxxxx>; Sami > Tolvanen <samitolvanen@xxxxxxxxxx>; Lorenzo Pieralisi > <Lorenzo.Pieralisi@xxxxxxx>; Xiaoming Ni <nixiaoming@xxxxxxxxxx>; Zenghui > Yu <yuzenghui@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > kvmarm@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 2/2] KVM: arm64: Add memcg accounting to KVM > allocations > > On Thu, 02 Sep 2021 01:28:01 +0100, > Jia He <justin.he@xxxxxxx> wrote: > > > > Inspired by commit 254272ce6505 ("kvm: x86: Add memcg accounting to KVM > > allocations"), it would be better to make arm64 KVM consistent with > > common kvm codes. > > > > The memory allocations of VM scope should be charged into VM process > > cgroup, hence change GFP_KERNEL to GFP_KERNEL_ACCOUNT. > > > > There remained a few cases since these allocations are global, not in VM > > scope. > > > > Signed-off-by: Jia He <justin.he@xxxxxxx> > > --- > > arch/arm64/kvm/arm.c | 6 ++++-- > > arch/arm64/kvm/mmu.c | 2 +- > > arch/arm64/kvm/pmu-emul.c | 2 +- > > arch/arm64/kvm/reset.c | 2 +- > > 4 files changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c > > index e9a2b8f27792..9d6f5bcaddef 100644 > > --- a/arch/arm64/kvm/arm.c > > +++ b/arch/arm64/kvm/arm.c > > @@ -289,10 +289,12 @@ long kvm_arch_dev_ioctl(struct file *filp, > > > > struct kvm *kvm_arch_alloc_vm(void) > > { > > + unsigned long sz = sizeof(struct kvm); > > If you are going to introduce an extra variable, please use the > correct type (size_t). Okay > > > + > > if (!has_vhe()) > > - return kzalloc(sizeof(struct kvm), GFP_KERNEL); > > + return kzalloc(sz, GFP_KERNEL | GFP_KERNEL_ACCOUNT); > > Why both GFP_KERNEL and GFP_KERNEL_ACCOUNT? Urgh, sorry for the mistake. -- Cheers, Justin (Jia He) _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm