summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorShakeel Butt <shakeelb@google.com>2017-10-05 18:07:24 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2017-10-12 14:01:53 +0200
commit46bea48ac241fe0b413805952dda74dd0c09ba8b (patch)
tree1346b73767c9c81e234636f1534a85b3aebe7f7c /virt
parent736fdf72518b400321f8b20c770bfb500f829928 (diff)
downloadlinux-stable-46bea48ac241fe0b413805952dda74dd0c09ba8b.tar.gz
linux-stable-46bea48ac241fe0b413805952dda74dd0c09ba8b.tar.bz2
linux-stable-46bea48ac241fe0b413805952dda74dd0c09ba8b.zip
kvm, mm: account kvm related kmem slabs to kmemcg
The kvm slabs can consume a significant amount of system memory and indeed in our production environment we have observed that a lot of machines are spending significant amount of memory that can not be left as system memory overhead. Also the allocations from these slabs can be triggered directly by user space applications which has access to kvm and thus a buggy application can leak such memory. So, these caches should be accounted to kmemcg. Signed-off-by: Shakeel Butt <shakeelb@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/kvm_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 9deb5a245b83..3d73299e05f2 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -4010,7 +4010,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
if (!vcpu_align)
vcpu_align = __alignof__(struct kvm_vcpu);
kvm_vcpu_cache = kmem_cache_create("kvm_vcpu", vcpu_size, vcpu_align,
- 0, NULL);
+ SLAB_ACCOUNT, NULL);
if (!kvm_vcpu_cache) {
r = -ENOMEM;
goto out_free_3;