microsoft / ebpf-for-windows

eBPF implementation that runs on top of Windows
MIT License
2.95k stars 240 forks source link

Improve ringbuffer performance #4027

Open Alan-Jowett opened 6 days ago

Alan-Jowett commented 6 days ago

Description

This pull request includes significant changes to the eBPF ring buffer implementation, focusing on improving synchronization, memory management, and adding new functionality. The most important changes include the introduction of spin locks for better concurrency control, a new flag-based system for record states, and the addition of a stress test for the ring buffer.

Synchronization and Memory Management Improvements:

New Flag-Based System for Record States:

Additional Functionality:

Other Notable Changes:

Testing

CI/CD + dedicated stress test

Documentation

No.

Installation

No.

Alan-Jowett commented 3 days ago

There exists a race condition around the producer wrapping.