From dfbea73df46dd682c9f142e61e4506736e709594 Mon Sep 17 00:00:00 2001 From: Ma Shimiao Date: Fri, 10 Apr 2015 17:57:32 +0800 Subject: [PATCH] add cgroup subsystem hugetlb Signed-off-by: Ma Shimiao --- cgroups/fs/apply_raw.go | 1 + cgroups/fs/hugetlb.go | 29 +++++++++++++++++++++++++++++ cgroups/systemd/apply_systemd.go | 1 + 3 files changed, 31 insertions(+) create mode 100644 cgroups/fs/hugetlb.go diff --git a/cgroups/fs/apply_raw.go b/cgroups/fs/apply_raw.go index 0a2d76bcd..fee62d78c 100644 --- a/cgroups/fs/apply_raw.go +++ b/cgroups/fs/apply_raw.go @@ -19,6 +19,7 @@ var ( "cpuset": &CpusetGroup{}, "cpuacct": &CpuacctGroup{}, "blkio": &BlkioGroup{}, + "hugetlb": &HugetlbGroup{}, "perf_event": &PerfEventGroup{}, "freezer": &FreezerGroup{}, } diff --git a/cgroups/fs/hugetlb.go b/cgroups/fs/hugetlb.go new file mode 100644 index 000000000..8defdd1b9 --- /dev/null +++ b/cgroups/fs/hugetlb.go @@ -0,0 +1,29 @@ +package fs + +import ( + "github.com/docker/libcontainer/cgroups" + "github.com/docker/libcontainer/configs" +) + +type HugetlbGroup struct { +} + +func (s *HugetlbGroup) Apply(d *data) error { + // we just want to join this group even though we don't set anything + if _, err := d.join("hugetlb"); err != nil && !cgroups.IsNotFound(err) { + return err + } + return nil +} + +func (s *HugetlbGroup) Set(path string, cgroup *configs.Cgroup) error { + return nil +} + +func (s *HugetlbGroup) Remove(d *data) error { + return removePath(d.path("hugetlb")) +} + +func (s *HugetlbGroup) GetStats(path string, stats *cgroups.Stats) error { + return nil +} diff --git a/cgroups/systemd/apply_systemd.go b/cgroups/systemd/apply_systemd.go index 77e39b058..c8ab23ad6 100644 --- a/cgroups/systemd/apply_systemd.go +++ b/cgroups/systemd/apply_systemd.go @@ -38,6 +38,7 @@ var subsystems = map[string]subsystem{ "cpuset": &fs.CpusetGroup{}, "cpuacct": &fs.CpuacctGroup{}, "blkio": &fs.BlkioGroup{}, + "hugetlb": &fs.HugetlbGroup{}, "perf_event": &fs.PerfEventGroup{}, "freezer": &fs.FreezerGroup{}, }