jobapplier

Performance Engineer (Kernel and Memory)

Cloudflare

Skills

Required

  • memory management
  • Linux kernel memory-management subsystem
  • upstream Linux
  • page allocator
  • virtual memory and memory mapping
  • Linux kernel internals
  • configuration/deployment management

Join our Performance Team as a Performance Engineer specializing in Kernel and Memory. You will be responsible for diagnosing and fixing performance and scalability bottlenecks in the Linux kernel memory-management subsystem, informed by real production telemetry. Your work will have a direct impact on performance and cost efficiency across our entire fleet. You will also have the opportunity to contribute to the upstream Linux kernel and collaborate with engineers across various teams.

Responsibilities

  • Diagnose and fix performance and scalability bottlenecks in the Linux kernel memory-management subsystem, informed by real production telemetry.
  • Land your work upstream, ensuring that memory management changes go to mainline first and maintaining a strong presence in the community.
  • Build and extend low-overhead kernel instrumentation to measure performance before and after changes, and prove the impact of your work.

Requirements

  • Deep expertise in the Linux kernel memory-management subsystem: the page allocator, virtual memory and memory mapping, reclaim, and the locking and concurrency that hold it together
  • A track record of upstream Linux contribution, ideally including maintainership or sustained work in MM or an adjacent subsystem
  • Clear communication with engineers across many teams, since the symptoms of an MM problem usually show up far from the MM code
  • Strong systems programming in C, with the judgement to make high-risk changes to shared infrastructure safely
  • Ability to dive deep into a complex codebase while keeping the fleet-wide picture in mind, and to own a problem and its outcome rather than a single patch
  • Strong understanding of Linux kernel internals pertaining to memory management
  • Experience troubleshooting and resolving performance issues in large-scale distributed systems
  • Experience with large scale configuration/deployment management