Files
runc/libcontainer/configs/validate/intelrdt.go
T
2025-08-28 14:11:07 +03:00

42 lines
759 B
Go

package validate
import (
"sync"
"github.com/opencontainers/runc/libcontainer/intelrdt"
)
// Cache the result of intelrdt IsEnabled functions to avoid repeated sysfs
// access and enable mocking for unit tests.
type intelRdtStatus struct {
sync.Once
rdtEnabled bool
catEnabled bool
mbaEnabled bool
}
var intelRdt = &intelRdtStatus{}
func (i *intelRdtStatus) init() {
i.Do(func() {
i.rdtEnabled = intelrdt.IsEnabled()
i.catEnabled = intelrdt.IsCATEnabled()
i.mbaEnabled = intelrdt.IsMBAEnabled()
})
}
func (i *intelRdtStatus) isEnabled() bool {
i.init()
return i.rdtEnabled
}
func (i *intelRdtStatus) isCATEnabled() bool {
i.init()
return i.catEnabled
}
func (i *intelRdtStatus) isMBAEnabled() bool {
i.init()
return i.mbaEnabled
}