Re: [LSF/MM/BPF TOPIC] TAO: THP Allocator Optimizations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 29, 2024 at 11:34 AM Yu Zhao <yuzhao@xxxxxxxxxx> wrote:
>
> TAO is an umbrella project aiming at a better economy of physical
> contiguity viewed as a valuable resource. A few examples are:
> 1. A multi-tenant system can have guaranteed THP coverage while
>    hosting abusers/misusers of the resource.
> 2. Abusers/misusers, e.g., workloads excessively requesting and then
>    splitting THPs, should be punished if necessary.
> 3. Good citizens should be awarded with, e.g., lower allocation
>    latency and less cost of metadata (struct page).
> 4. Better interoperability with userspace memory allocators when
>    transacting the resource.
>
> This project puts the same emphasis on the established use case for
> servers and the emerging use case for clients so that client workloads
> like Android and ChromeOS can leverage the recent multi-sized THPs
> [1][2].
>
> Chapter One introduces the cornerstone of TAO: an abstraction called
> policy (virtual) zones, which are overlayed on the physical zones.
> This is in line with item 1 above.
>
> A new door is open after Chapter One. The following two chapters
> discuss the reverse of THP collapsing, called THP shattering, and THP
> HVO, which brings the hugeTLB feature [3] to THP. They are in line
> with items 2 & 3 above.
>
> Advanced use cases are discussed in Epilogue, since they require the
> cooperation of userspace memory allocators. This is in line with item
> 4 above.
>
> [1] https://lwn.net/Articles/932386/
> [2] https://lwn.net/Articles/937239/
> [3] https://www.kernel.org/doc/html/next/mm/vmemmap_dedup.html
>
> Yu Zhao (4):
>   THP zones: the use cases of policy zones
>   THP shattering: the reverse of collapsing
>   THP HVO: bring the hugeTLB feature to THP
>   Profile-Guided Heap Optimization and THP fungibility
>
>  .../admin-guide/kernel-parameters.txt         |  10 +
>  drivers/virtio/virtio_mem.c                   |   2 +-
>  include/linux/gfp.h                           |  24 +-
>  include/linux/huge_mm.h                       |   6 -
>  include/linux/memcontrol.h                    |   5 +
>  include/linux/mempolicy.h                     |   2 +-
>  include/linux/mm.h                            | 140 ++++++
>  include/linux/mm_inline.h                     |  24 +
>  include/linux/mm_types.h                      |   8 +-
>  include/linux/mmzone.h                        |  53 +-
>  include/linux/nodemask.h                      |   2 +-
>  include/linux/rmap.h                          |   4 +
>  include/linux/vm_event_item.h                 |   5 +-
>  include/trace/events/mmflags.h                |   4 +-
>  init/main.c                                   |   1 +
>  mm/compaction.c                               |  12 +
>  mm/gup.c                                      |   3 +-
>  mm/huge_memory.c                              | 304 ++++++++++--
>  mm/hugetlb_vmemmap.c                          |   2 +-
>  mm/internal.h                                 |  47 +-
>  mm/madvise.c                                  |  11 +-
>  mm/memcontrol.c                               |  47 ++
>  mm/memory-failure.c                           |   2 +-
>  mm/memory.c                                   |  11 +-
>  mm/mempolicy.c                                |  14 +-
>  mm/migrate.c                                  |  51 +-
>  mm/mm_init.c                                  | 452 ++++++++++--------
>  mm/page_alloc.c                               | 199 +++++++-
>  mm/page_isolation.c                           |   2 +-
>  mm/rmap.c                                     |  21 +-
>  mm/shmem.c                                    |   4 +-
>  mm/swap_slots.c                               |   3 +-
>  mm/truncate.c                                 |   6 +-
>  mm/userfaultfd.c                              |   2 +-
>  mm/vmscan.c                                   |  41 +-
>  mm/vmstat.c                                   |  12 +-
>  36 files changed, 1194 insertions(+), 342 deletions(-)

Attaching the deck for this topic.

Attachment: TAO (LSF_MM_BPF 2024).pdf
Description: Adobe PDF document


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux