13–15 Nov 2023
America/New_York timezone

eBPF Shenanigans with Flux

14 Nov 2023, 16:30
30m
"James River Salon C" (Omni Richmond Hotel)

"James River Salon C"

Omni Richmond Hotel

225
eBPF & Networking Track eBPF & Networking

Speaker

Barret Rhoden (Google)

Description

Flux is a framework for writing multicore schedulers, written in eBPF, that runs on top of Google's Ghost kernel scheduling class (analogous to sched_ext). Although the Flux framework is interesting in its own right, this talk will cover the data structures and trickery involved with making Flux work in BPF. Particularly, we heavily utilize array maps as a quasi memory allocator, and have data structures such as linked lists and AVL trees within those maps. Additionally, Flux is lightly "object oriented", and we have strategies for function dispatch in a world where there are no function pointers and all objects are the same type. Hopefully our techniques and data structures will be useful to other BPF users as people make increasingly complicated programs.

Primary author

Presentation materials

Diamond Sponsors
Platinum Sponsor
Gold Sponsors
Silver Sponsors
Catchbox Sponsor
Livestream Sponsors
T-Shirt Sponsor
Conference Services Provided by