diff options
author | Ingo Molnar <mingo@kernel.org> | 2019-11-25 09:08:29 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2019-11-25 09:08:29 +0100 |
commit | c494cd6469ab0f4bdd663d1a2d396b0ec2f42103 (patch) | |
tree | 5830ff0a0266c5500188d1ee9df8f2cbe0871b35 /kernel/events | |
parent | Merge tag 'perf-core-for-mingo-5.5-20191122' of git://git.kernel.org/pub/scm/... (diff) | |
parent | perf/core: Make the mlock accounting simple again (diff) | |
download | linux-c494cd6469ab0f4bdd663d1a2d396b0ec2f42103.tar.xz linux-c494cd6469ab0f4bdd663d1a2d396b0ec2f42103.zip |
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/core.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 16d80ad8d6d7..059ee7116008 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5664,10 +5664,8 @@ static void perf_mmap_close(struct vm_area_struct *vma) perf_pmu_output_stop(event); /* now it's safe to free the pages */ - if (!rb->aux_mmap_locked) - atomic_long_sub(rb->aux_nr_pages, &mmap_user->locked_vm); - else - atomic64_sub(rb->aux_mmap_locked, &vma->vm_mm->pinned_vm); + atomic_long_sub(rb->aux_nr_pages - rb->aux_mmap_locked, &mmap_user->locked_vm); + atomic64_sub(rb->aux_mmap_locked, &vma->vm_mm->pinned_vm); /* this has to be the last one */ rb_free_aux(rb); @@ -5888,13 +5886,7 @@ accounting: user_locked = atomic_long_read(&user->locked_vm) + user_extra; - if (user_locked <= user_lock_limit) { - /* charge all to locked_vm */ - } else if (atomic_long_read(&user->locked_vm) >= user_lock_limit) { - /* charge all to pinned_vm */ - extra = user_extra; - user_extra = 0; - } else { + if (user_locked > user_lock_limit) { /* * charge locked_vm until it hits user_lock_limit; * charge the rest from pinned_vm |