{"guid":"8617d047-766c-5837-9350-a35c6d29d7cb","title":"Custom cgroup-bpf programs in systemd","subtitle":null,"slug":"ASG2019-144-custom-cgroup-bpf-programs-in-systemd","link":"https://cfp.all-systems-go.io/ASG2019/talk/M8DVWG/","description":"The primary focus is to gather feedback from systemd community regarding ongoing and future work to introduce custom cgroup-bpf programs to systemd.\nThe motivation is to give a user a capability to attach their own cgroup-bpf programs to systemd containers.\n\nThis is a continuation of \u003ca href=\"https://github.com/systemd/systemd/issues/10227\" title=\"discussion\"\u003e started at ASG2018 and followed by \u003ca href=\"https://github.com/systemd/systemd/pull/12151\" title=\"PR12151\"\u003e and \u003ca href=\"https://github.com/systemd/systemd/pull/12419\" title=\"PR12419\"\u003e.\n\nCurrently systemd utilizes BPF macro-assembly which is poorly extendable and maintainable, so the 1st iteration would be introducing `libbpf` library to systemd. The first attempt was made and it raised valid questions about `libbpf` testability and dependencies it introduces. We’d like to address that.\nAnother topic of focus may be implementation details, such as how to store libbpf programs: either as bytecode or as restricted C which compiles with the rest of systemd.\nFor attendees with no context a brief intro to eBPF will be made including new initiatives which may be of use to systemd, e.g. “Compile once, run everywhere”.\nSince this is ongoing work the agenda may vary depending on activity in PRs.","original_language":"eng","persons":["Julia Kartseva"],"view_count":128,"promoted":false,"date":"2019-09-20T00:00:00.000+02:00","release_date":"2019-09-21T02:00:00.000+02:00","updated_at":"2025-12-28T13:00:16.939+01:00","tags":["asg2019","144","2019"],"length":1389,"duration":1389,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/144-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/144-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/144-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/144-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/ASG2019-144-custom-cgroup-bpf-programs-in-systemd","url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_title":"All Systems Go! 2019","conference_url":"https://api.media.ccc.de/public/conferences/asg2019","related":[{"event_id":7864,"event_guid":"3d439f1d-e67a-5e92-96b6-3a9c5ad30965","weight":11},{"event_id":7870,"event_guid":"878e4754-c346-5b93-96d2-1ca8bf5109c3","weight":11},{"event_id":7878,"event_guid":"dcabb3af-fcac-5e83-a77d-5aa655cd95b3","weight":1},{"event_id":7881,"event_guid":"faa5c5e3-6a1e-5c6d-bd90-eb270142ec6e","weight":1},{"event_id":7882,"event_guid":"a738a107-7051-544d-98cf-b6c3adce4a3f","weight":11},{"event_id":7883,"event_guid":"40aa2960-6288-5a2f-bf6f-268746f0ecdf","weight":11},{"event_id":7886,"event_guid":"df4ceb70-2c63-538c-b581-e60adc89f261","weight":1},{"event_id":7888,"event_guid":"dad4ba00-7141-5e7d-af7d-02f492f4b5e5","weight":1},{"event_id":7891,"event_guid":"355ea6a0-d58b-5a47-a613-312ede6b1859","weight":2},{"event_id":7892,"event_guid":"b231881d-afaf-56f5-a57a-eaaab6668d79","weight":1},{"event_id":7893,"event_guid":"7bc76c4b-311d-55e4-b60e-1c837b15ed7b","weight":2},{"event_id":7894,"event_guid":"b9883475-56ad-5749-9c65-e178a1e6bbfb","weight":1},{"event_id":7910,"event_guid":"b0b3fa50-d9db-511a-9fb1-9edb96bd3401","weight":7}],"recordings":[{"size":101,"length":1389,"mime_type":"video/mp4","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-09-21T15:35:06.608+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/h264-hd/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_hd.mp4","url":"https://api.media.ccc.de/public/recordings/40323","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":16,"length":1389,"mime_type":"audio/opus","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-09-21T16:58:35.851+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/opus/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_opus.opus","url":"https://api.media.ccc.de/public/recordings/40424","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":39,"length":1389,"mime_type":"video/mp4","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-09-21T16:58:55.232+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/h264-sd/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_sd.mp4","url":"https://api.media.ccc.de/public/recordings/40425","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":61,"length":1389,"mime_type":"video/webm","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-09-21T17:00:38.634+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/webm-sd/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/40430","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":21,"length":1389,"mime_type":"audio/mpeg","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-09-21T17:00:54.925+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/mp3/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/40431","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":151,"length":1389,"mime_type":"video/webm","language":"eng","filename":"asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-09-21T17:01:18.421+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/webm-hd/asg2019-144-eng-Custom_cgroup-bpf_programs_in_systemd_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/40432","event_url":"https://api.media.ccc.de/public/events/8617d047-766c-5837-9350-a35c6d29d7cb","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"}]}