Table of Contents
Fetching ...

eBPF-mm: Userspace-guided memory management in Linux with eBPF

Konstantinos Mores, Stratos Psomadakis, Georgios Goumas

TL;DR

A new hook point in Linux page fault handling path is introduced for eBPF programs, providing them the necessary context to determine the page size to be used, and a framework is developed that allows users to define profiles for their applications and load them into the kernel.

Abstract

We leverage eBPF in order to implement custom policies in the Linux memory subsystem. Inspired by CBMM, we create a mechanism that provides the kernel with hints regarding the benefit of promoting a page to a specific size. We introduce a new hook point in Linux page fault handling path for eBPF programs, providing them the necessary context to determine the page size to be used. We then develop a framework that allows users to define profiles for their applications and load them into the kernel. A profile consists of memory regions of interest and their expected benefit from being backed by 4KB, 64KB and 2MB pages. In our evaluation, we profiled our workloads to identify hot memory regions using DAMON.

eBPF-mm: Userspace-guided memory management in Linux with eBPF

TL;DR

A new hook point in Linux page fault handling path is introduced for eBPF programs, providing them the necessary context to determine the page size to be used, and a framework is developed that allows users to define profiles for their applications and load them into the kernel.

Abstract

We leverage eBPF in order to implement custom policies in the Linux memory subsystem. Inspired by CBMM, we create a mechanism that provides the kernel with hints regarding the benefit of promoting a page to a specific size. We introduce a new hook point in Linux page fault handling path for eBPF programs, providing them the necessary context to determine the page size to be used. We then develop a framework that allows users to define profiles for their applications and load them into the kernel. A profile consists of memory regions of interest and their expected benefit from being backed by 4KB, 64KB and 2MB pages. In our evaluation, we profiled our workloads to identify hot memory regions using DAMON.
Paper Structure (2 sections, 2 figures)

This paper contains 2 sections, 2 figures.

Figures (2)

  • Figure 1: eBPF-mm workflow
  • Figure 2: eBPF-mm preliminary results for astar