In this talk I will outline a facility for tracing BPF map updates which might be used to perform zero downtime upgrades of stateful programs.
Map updates cannot currently be natively traced within BPF. I propose a set of kernel changes where tracing programs can be attached to individual maps. These programs run in response to particular operations: one might run on update, and another on deletion.
This facility seems like it should be broadly useful, but it was designed with a specific use case in mind. We would like to be able to migrate state between two versions of a set of programs, and swap between the two versions with zero downtime. By tracing updates on the original set of maps, I believe that we can achieve this goal.
Please see the attached paper for a deeper discussion of the problem and proposed solution.
|I agree to abide by the anti-harassment policy||I agree|