From 2c004a101ecd8b3b5604e53782ac1eb56859e4e5 Mon Sep 17 00:00:00 2001 From: Xiaochen Shen Date: Sat, 17 Oct 2020 14:12:12 +0800 Subject: [PATCH] libcontainer/intelrdt: introduce NewManager() Introduce NewManager() to wrap up IntelRdtManager initialization. And call it when required. Signed-off-by: Xiaochen Shen --- libcontainer/factory_linux.go | 6 +----- libcontainer/intelrdt/intelrdt.go | 8 ++++++++ libcontainer/intelrdt/intelrdt_test.go | 15 +++------------ update.go | 6 +----- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go index 38391058d..cc93d2f66 100644 --- a/libcontainer/factory_linux.go +++ b/libcontainer/factory_linux.go @@ -149,11 +149,7 @@ func RootlessCgroupfs(l *LinuxFactory) error { // create and manage Intel RDT resources (e.g., L3 cache, memory bandwidth). func IntelRdtFs(l *LinuxFactory) error { l.NewIntelRdtManager = func(config *configs.Config, id string, path string) intelrdt.Manager { - return &intelrdt.IntelRdtManager{ - Config: config, - Id: id, - Path: path, - } + return intelrdt.NewManager(config, id, path) } return nil } diff --git a/libcontainer/intelrdt/intelrdt.go b/libcontainer/intelrdt/intelrdt.go index 9e1af7aa4..a1ae55f50 100644 --- a/libcontainer/intelrdt/intelrdt.go +++ b/libcontainer/intelrdt/intelrdt.go @@ -172,6 +172,14 @@ type IntelRdtManager struct { Path string } +func NewManager(config *configs.Config, id string, path string) Manager { + return &IntelRdtManager{ + Config: config, + Id: id, + Path: path, + } +} + const ( IntelRdtTasks = "tasks" ) diff --git a/libcontainer/intelrdt/intelrdt_test.go b/libcontainer/intelrdt/intelrdt_test.go index d60600520..dc564c44c 100644 --- a/libcontainer/intelrdt/intelrdt_test.go +++ b/libcontainer/intelrdt/intelrdt_test.go @@ -26,10 +26,7 @@ func TestIntelRdtSetL3CacheSchema(t *testing.T) { }) helper.IntelRdtData.config.IntelRdt.L3CacheSchema = l3CacheSchemeAfter - intelrdt := &IntelRdtManager{ - Config: helper.IntelRdtData.config, - Path: helper.IntelRdtPath, - } + intelrdt := NewManager(helper.IntelRdtData.config, "", helper.IntelRdtPath) if err := intelrdt.Set(helper.IntelRdtData.config); err != nil { t.Fatal(err) } @@ -64,10 +61,7 @@ func TestIntelRdtSetMemBwSchema(t *testing.T) { }) helper.IntelRdtData.config.IntelRdt.MemBwSchema = memBwSchemeAfter - intelrdt := &IntelRdtManager{ - Config: helper.IntelRdtData.config, - Path: helper.IntelRdtPath, - } + intelrdt := NewManager(helper.IntelRdtData.config, "", helper.IntelRdtPath) if err := intelrdt.Set(helper.IntelRdtData.config); err != nil { t.Fatal(err) } @@ -102,10 +96,7 @@ func TestIntelRdtSetMemBwScSchema(t *testing.T) { }) helper.IntelRdtData.config.IntelRdt.MemBwSchema = memBwScSchemeAfter - intelrdt := &IntelRdtManager{ - Config: helper.IntelRdtData.config, - Path: helper.IntelRdtPath, - } + intelrdt := NewManager(helper.IntelRdtData.config, "", helper.IntelRdtPath) if err := intelrdt.Set(helper.IntelRdtData.config); err != nil { t.Fatal(err) } diff --git a/update.go b/update.go index 2a6a9d8ab..2cb77ac37 100644 --- a/update.go +++ b/update.go @@ -317,11 +317,7 @@ other options are ignored. return err } config.IntelRdt = &configs.IntelRdt{} - intelRdtManager := intelrdt.IntelRdtManager{ - Config: &config, - Id: container.ID(), - Path: state.IntelRdtPath, - } + intelRdtManager := intelrdt.NewManager(&config, container.ID(), state.IntelRdtPath) if err := intelRdtManager.Apply(state.InitProcessPid); err != nil { return err }