----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/75006/ -----------------------------------------------------------
(Updated July 9, 2024, 7:52 p.m.) Review request for mesos and Benjamin Mahler. Changes ------- Reworked logic DeviceManager's state now contains two vectors of cgroups device entries There are now two configure functions. - The first, setup_configure, is to be used when setting up device accesses for a cgroup. For this reason, wildcard major/minor number entries are allowed for the input allow/deny list. - The second, incremental_configure, is to be used when adding and removing individual devices for a cgroup. We disable wildcard major/minor numbers for this function to allow us to determine if every operation done using this function is possible. That means that every device entry in both allow and deny lists for this function must have their major and minor numbers set to a specific value. Updated the recover, persist and commit_devices_changes functions to work the type change in CgroupDeviceAccess to use Entry instead of string. Repository: mesos Description (updated) ------- This change introduces the DeviceManagerProcess to help facilitate device access management in cgroups2 via ebpf program file changes. The manager keeps a global state that is checkpointed on change. Device requests can be made to the manager by calling incremental_configure or setup_configure. Note that setup_configure should only be used when setting up a cgroup's device access, i.e. it has not requested any device to be allowed/denied before. This manager will be made available to all controllers under the cgroups2 isolator, and the GPU isolator. Diffs (updated) ----- src/CMakeLists.txt ea0fee1bbaed6f2494e9b9739bb65812a4a0042b src/Makefile.am 03eb0cc28ee18da7f1a13f35a7e3255e56869b56 src/linux/cgroups2.hpp 64254d04f65128713cf3489b25bcba42590b6020 src/linux/cgroups2.cpp d1fc2638cdf9a07199f90952e04998072021011c src/slave/device_manager/device_manager.hpp PRE-CREATION src/slave/device_manager/device_manager.cpp PRE-CREATION src/slave/device_manager/state.hpp PRE-CREATION src/slave/device_manager/state.proto PRE-CREATION src/slave/paths.hpp 7d43e9c0170c7bcced916a892590063005133d6f src/slave/paths.cpp 3e44b636c76c01f88b00f5f8d2db39cc5fe00c1c Diff: https://reviews.apache.org/r/75006/diff/10/ Changes: https://reviews.apache.org/r/75006/diff/9-10/ Testing ------- Thanks, Jason Zhou
