#[derive(Default, Debug, Clone, PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[repr(transparent)]
pub struct HugetlbControllerConfiguration(HashMap<HugePageSize, PerHugePageSizeHugetlbControllerConfiguration>);
impl ControllerConfiguration for HugetlbControllerConfiguration
{
const Controller: Controller = Controller::hugetlb;
#[inline(always)]
fn configure(&self, mount_point: &CgroupMountPoint, cgroup: &Rc<NonRootCgroup>, defaults: &DefaultHugePageSizes) -> io::Result<()>
{
for (huge_page_size, per_huge_page_size_hugetlb_controller_configuration) in self.0.iter()
{
if defaults.is_supported_huge_page_size(huge_page_size)
{
per_huge_page_size_hugetlb_controller_configuration.configure(mount_point, cgroup, *huge_page_size)?;
}
}
Ok(())
}
}