-----------------------------------------------------------
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

Reply via email to