[all-commits] [llvm/llvm-project] a1e325: [scudo] Lazy initialize the PageMap while page rel...

ChiaHungDuan via All-commits all-commits at lists.llvm.org
Fri Oct 28 14:13:23 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1e325ce7ccee3eeaa6559e465d907e0a5a28a69
      https://github.com/llvm/llvm-project/commit/a1e325ce7ccee3eeaa6559e465d907e0a5a28a69
  Author: Chia-hung Duan <chiahungduan at google.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h
    M compiler-rt/lib/scudo/standalone/tests/release_test.cpp

  Log Message:
  -----------
  [scudo] Lazy initialize the PageMap while page releasing

We allocate the page map before knowing if there're groups can be
released. This may result in many redundant map()/unmap() operations if
there's no page to release.

Make the page map be lazy initialized.

Differential Revision: https://reviews.llvm.org/D136873


  Commit: 6130d67f70ad2e063b4407b6ee31c7db19464fee
      https://github.com/llvm/llvm-project/commit/6130d67f70ad2e063b4407b6ee31c7db19464fee
  Author: Chia-hung Duan <chiahungduan at google.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Fix the calculating of memory group usage

In SizeClassAllocator64, the boundary of a memory group may not align to
the region begin. Which means the begin addr of a memory group may
smaller than region begin. This leads to wrong judgement of memory group
usage.

Differential Revision: https://reviews.llvm.org/D136898


Compare: https://github.com/llvm/llvm-project/compare/7a9643fd2a07...6130d67f70ad


More information about the All-commits mailing list