Skip to content

Commit

Permalink
chore: fix some unlinted errors (#1811)
Browse files Browse the repository at this point in the history
Signed-off-by: saintube <saintube@foxmail.com>
  • Loading branch information
saintube committed Jan 9, 2024
1 parent 36ad930 commit 2a46d60
Show file tree
Hide file tree
Showing 24 changed files with 354 additions and 303 deletions.
7 changes: 3 additions & 4 deletions pkg/descheduler/utils/sorter/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@ import (

// CompareFn compares p1 and p2 and returns:
//
// -1 if p1 < p2
// 0 if p1 == p2
// +1 if p1 > p2
//
// -1 if p1 < p2
// 0 if p1 == p2
// +1 if p1 > p2
type CompareFn func(p1, p2 *corev1.Pod) int

// MultiSorter implements the Sort interface
Expand Down
2 changes: 1 addition & 1 deletion pkg/koordlet/metriccache/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func fieldAvgOfMetricList(metricsList interface{}, aggregateParam AggregateParam

metrics := reflect.ValueOf(metricsList)
if metrics.Len() == 0 {
return 0, fmt.Errorf("metrics input is empty")
return 0, fmt.Errorf("metric input is empty")
}

for i := 0; i < metrics.Len(); i++ {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,11 @@ func (c *podThrottledCollector) collectPodThrottledInfo() {
} else {
podAndContainerMetrics = append(podAndContainerMetrics, podMetric)
}
} // end for podMeta

for _, meta := range podMetas {
// collect container-level metrics
metrics := c.collectContainerThrottledInfo(meta)
podAndContainerMetrics = append(podAndContainerMetrics, metrics...)
}
} // end for podMeta

appender := c.appendableDB.Appender()
if err := appender.Append(podAndContainerMetrics); err != nil {
Expand Down
4 changes: 3 additions & 1 deletion pkg/koordlet/statesinformer/impl/states_nodemetric_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,9 @@ func Test_metricsInColdStart(t *testing.T) {
{
name: "metric in cold start",
args: args{
duration: queryEnd.Sub(shortStart),
queryStart: queryStart,
queryEnd: queryEnd,
duration: queryEnd.Sub(shortStart),
},
want: true,
},
Expand Down
101 changes: 101 additions & 0 deletions pkg/koordlet/util/system/resctrl.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ limitations under the License.
package system

import (
"bufio"
"fmt"
"math"
"math/bits"
"os"
"path/filepath"
"regexp"
"strconv"
"strings"
"sync"
Expand Down Expand Up @@ -584,3 +586,102 @@ func CalculateCatL3MaskValue(cbm uint, startPercent, endPercent int64) (string,
var l3Mask uint64 = (1 << endWay) - (1 << startWay)
return strconv.FormatUint(l3Mask, 16), nil
}

// GetVendorIDByCPUInfo returns vendor_id like AuthenticAMD from cpu info, e.g.
// vendor_id : AuthenticAMD
// vendor_id : GenuineIntel
func GetVendorIDByCPUInfo(path string) (string, error) {
vendorID := "unknown"
f, err := os.Open(path)
if err != nil {
return vendorID, err
}
defer f.Close()

s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return vendorID, err
}

line := s.Text()

// get "vendor_id" from first line
if strings.Contains(line, "vendor_id") {
attrs := strings.Split(line, ":")
if len(attrs) >= 2 {
vendorID = strings.TrimSpace(attrs[1])
break
}
}
}
return vendorID, nil
}

func isResctrlAvailableByCpuInfo(path string) (bool, bool, error) {
isCatFlagSet := false
isMbaFlagSet := false

f, err := os.Open(path)
if err != nil {
return false, false, err
}
defer f.Close()

s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return false, false, err
}

line := s.Text()

// Search "cat_l3" and "mba" flags in first "flags" line
if strings.Contains(line, "flags") {
flags := strings.Split(line, " ")
// "cat_l3" flag for CAT and "mba" flag for MBA
for _, flag := range flags {
switch flag {
case "cat_l3":
isCatFlagSet = true
case "mba":
isMbaFlagSet = true
}
}
return isCatFlagSet, isMbaFlagSet, nil
}
}
return isCatFlagSet, isMbaFlagSet, nil
}

// file content example:
// BOOT_IMAGE=/boot/vmlinuz-4.19.91-24.1.al7.x86_64 root=UUID=231efa3b-302b-4e82-9445-0f7d5d353dda \
// crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M cryptomgr.notests cgroup.memory=nokmem rcupdate.rcu_cpu_stall_timeout=300 \
// vring_force_dma_api biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs \
// nvme_core.io_timeout=4294967295 nomodeset intel_idle.max_cstate=1 rdt=cmt,l3cat,l3cdp,mba
func isResctrlAvailableByKernelCmd(path string) (bool, bool, error) {
isCatFlagSet := false
isMbaFlagSet := false
f, err := os.Open(path)
if err != nil {
return false, false, err
}
defer f.Close()
s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return false, false, err
}
line := s.Text()
l3Reg, regErr := regexp.Compile(".* rdt=.*l3cat.*")
if regErr == nil && l3Reg.Match([]byte(line)) {
isCatFlagSet = true
}

mbaReg, regErr := regexp.Compile(".* rdt=.*mba.*")
if regErr == nil && mbaReg.Match([]byte(line)) {
isMbaFlagSet = true
}
}
return isCatFlagSet, isMbaFlagSet, nil
}
103 changes: 0 additions & 103 deletions pkg/koordlet/util/system/resctrl_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ limitations under the License.
package system

import (
"bufio"
"fmt"
"os"
"regexp"
"strings"
"syscall"

"k8s.io/klog/v2"
Expand Down Expand Up @@ -53,102 +49,3 @@ func MountResctrlSubsystem() (bool, error) {
}
return true, nil
}

func isResctrlAvailableByCpuInfo(path string) (bool, bool, error) {
isCatFlagSet := false
isMbaFlagSet := false

f, err := os.Open(path)
if err != nil {
return false, false, err
}
defer f.Close()

s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return false, false, err
}

line := s.Text()

// Search "cat_l3" and "mba" flags in first "flags" line
if strings.Contains(line, "flags") {
flags := strings.Split(line, " ")
// "cat_l3" flag for CAT and "mba" flag for MBA
for _, flag := range flags {
switch flag {
case "cat_l3":
isCatFlagSet = true
case "mba":
isMbaFlagSet = true
}
}
return isCatFlagSet, isMbaFlagSet, nil
}
}
return isCatFlagSet, isMbaFlagSet, nil
}

// GetVendorIDByCPUInfo returns vendor_id like AuthenticAMD from cpu info, e.g.
// vendor_id : AuthenticAMD
// vendor_id : GenuineIntel
func GetVendorIDByCPUInfo(path string) (string, error) {
vendorID := "unknown"
f, err := os.Open(path)
if err != nil {
return vendorID, err
}
defer f.Close()

s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return vendorID, err
}

line := s.Text()

// get "vendor_id" from first line
if strings.Contains(line, "vendor_id") {
attrs := strings.Split(line, ":")
if len(attrs) >= 2 {
vendorID = strings.TrimSpace(attrs[1])
break
}
}
}
return vendorID, nil
}

// file content example:
// BOOT_IMAGE=/boot/vmlinuz-4.19.91-24.1.al7.x86_64 root=UUID=231efa3b-302b-4e82-9445-0f7d5d353dda \
// crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M cryptomgr.notests cgroup.memory=nokmem rcupdate.rcu_cpu_stall_timeout=300 \
// vring_force_dma_api biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs \
// nvme_core.io_timeout=4294967295 nomodeset intel_idle.max_cstate=1 rdt=cmt,l3cat,l3cdp,mba
func isResctrlAvailableByKernelCmd(path string) (bool, bool, error) {
isCatFlagSet := false
isMbaFlagSet := false
f, err := os.Open(path)
if err != nil {
return false, false, err
}
defer f.Close()
s := bufio.NewScanner(f)
for s.Scan() {
if err := s.Err(); err != nil {
return false, false, err
}
line := s.Text()
l3Reg, regErr := regexp.Compile(".* rdt=.*l3cat.*")
if regErr == nil && l3Reg.Match([]byte(line)) {
isCatFlagSet = true
}

mbaReg, regErr := regexp.Compile(".* rdt=.*mba.*")
if regErr == nil && mbaReg.Match([]byte(line)) {
isMbaFlagSet = true
}
}
return isCatFlagSet, isMbaFlagSet, nil
}
Loading

0 comments on commit 2a46d60

Please sign in to comment.