Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changes for 2.11.1 release #38

Merged
merged 1 commit into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@ RELEASE NOTES
Intel® System Health Inspector (AKA svr-info)

Fully Supported Platforms
- Xeon Micro-Architectures: SRF,EMR,SPR,CPX,ICX,CLX,SKX,BDX,HSX
- Xeon Micro-Architectures: GNR,SRF,EMR,SPR,CPX,ICX,CLX,SKX
- Operating Systems: Ubuntu 18.04, 20.04, 22.04, 24.04, CentOS 7, Amazon Linux 2, Debian 11, RHEL 9, Rocky Linux 8
Note: svr-info may work on other micro-architectures and Linux distributions, but has not been thoroughly tested

2.11.1
Bugs Fixed
- Fix frequency benchmark on GNR
- Add ELC mode for compute dies on SRF and GNR

2.11.0
Features Added
- Report Efficiency Latency Control (ELC) configuration on SRF and GNR
Expand Down
12 changes: 11 additions & 1 deletion builder/build
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,21 @@

# run this script from repo's root directory
# set GITHUB_ACCESS_TOKEN environment variable to your token, if you want to build MLC

set -x
set -e
TAG=v1

# build third-party components image
docker build -f third_party/build.Dockerfile --build-arg GITHUB_ACCESS_TOKEN="${GITHUB_ACCESS_TOKEN}" --tag svr-info-third-party:$TAG ./third_party
# Create a temporary container
id=$(docker create svr-info-third-party:$TAG foo)

# Copy the files from the container to your local disk
# Note: not used in build process, but useful to have around
docker cp "$id":/bin ./third_party

# Remove the temporary container
docker rm "$id"

# build go cmd builder image
docker build -f cmd/build.Dockerfile --tag svr-info-cmd-builder:$TAG .
Expand Down
2 changes: 1 addition & 1 deletion builder/build.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ARG TAG=
FROM ${REGISTRY}${PREFIX}svr-info-third-party:${TAG} AS third-party

# STAGE 2- image contains svr-info's Go components build environment
FROM ${REGISTRY}${PREFIX}svr-info-cmd-builder:${TAG} as svr-info
FROM ${REGISTRY}${PREFIX}svr-info-cmd-builder:${TAG} AS svr-info
RUN mkdir /prebuilt
RUN mkdir /prebuilt/third-party
RUN mkdir /prebuilt/bin
Expand Down
69 changes: 68 additions & 1 deletion cmd/orchestrator/resources/collector_reports.yaml.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -560,8 +560,75 @@ commands:
done
- label: avx-turbo
command: |-
# Function to expand a range of numbers, e.g. "0-24", into an array of numbers
expand_range() {
local range=$1
local expanded=()
IFS=',' read -ra parts <<< "$range"
for part in "${parts[@]}"; do
if [[ $part == *-* ]]; then
IFS='-' read -ra limits <<< "$part"
for ((i=${limits[0]}; i<=${limits[1]}; i++)); do
expanded+=("$i")
done
else
expanded+=("$part")
fi
done
echo "${expanded[@]}"
}

# Get the number of NUMA nodes and sockets
num_nodes=$(lscpu | grep 'NUMA node(s):' | awk '{print $3}')
num_sockets=$(lscpu | grep 'Socket(s):' | awk '{print $2}')

# echo "Number of NUMA nodes: $num_nodes"
# echo "Number of sockets: $num_sockets"

# Calculate the number of NUMA nodes per socket
nodes_per_socket=$((num_nodes / num_sockets))

# Array to hold the expanded core lists for each NUMA node
declare -a core_lists

# Loop through each NUMA node in the first socket and expand the core IDs
for ((i=0; i<nodes_per_socket; i++)); do
core_range=$(lscpu | grep "NUMA node$i CPU(s):" | awk -F: '{print $2}' | tr -d ' ' | cut -d',' -f1)
core_list=$(expand_range "$core_range")
core_lists+=("$core_list")
done

# Interleave the core IDs from each NUMA node
interleaved_cores=()
max_length=0

# Find the maximum length of the core lists
for core_list in "${core_lists[@]}"; do
core_array=($core_list)
if (( ${#core_array[@]} > max_length )); then
max_length=${#core_array[@]}
fi
done

# Interleave the core IDs
for ((i=0; i<max_length; i++)); do
for core_list in "${core_lists[@]}"; do
core_array=($core_list)
if (( i < ${#core_array[@]} )); then
interleaved_cores+=("${core_array[i]}")
fi
done
done

# Form the interleaved core IDs into a comma-separated list
interleaved_core_list=$(IFS=,; echo "${interleaved_cores[*]}")
# echo "Interleaved core IDs: $interleaved_core_list"

# Get the number of cores per socket
num_cores_per_socket=$( lscpu | grep 'Core(s) per socket:' | head -1 | awk '{print $4}' )
avx-turbo --min-threads=1 --max-threads=$num_cores_per_socket --test scalar_iadd,avx128_fma,avx256_fma,avx512_fma

# Run the avx-turbo benchmark
avx-turbo --min-threads=1 --max-threads=$num_cores_per_socket --test scalar_iadd,avx128_fma,avx256_fma,avx512_fma --iters=100000 --cpuids=$interleaved_core_list
superuser: true
modprobe: msr
- label: CPU Turbo Test
Expand Down
2 changes: 1 addition & 1 deletion cmd/reporter/resources/insights.grl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
//
rule XeonGeneration {
when
Report.CompareMicroarchitecture(Report.GetValue("Configuration", "CPU", "Microarchitecture"), "ICX") == -1
Report.CompareMicroarchitecture(Report.GetValue("Configuration", "CPU", "Microarchitecture"), "SPR") == -1
then
Report.AddInsight(
"CPU is 2 or more generations behind current generation Xeon.",
Expand Down
2 changes: 2 additions & 0 deletions cmd/reporter/rules_engine_context.go
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,8 @@ func (r *RulesEngineContext) CompareMicroarchitecture(x, y string) int {
"ICX": 5,
"SPR": 6,
"EMR": 7,
"SRF": 8,
"GNR": 8,
}
var xArch, yArch int
var ok bool
Expand Down
8 changes: 8 additions & 0 deletions cmd/reporter/source.go
Original file line number Diff line number Diff line change
Expand Up @@ -1278,6 +1278,14 @@ func (s *Source) getEfficiencyLatencyControl() (valueNames []string, values [][]
} else {
mode = "Custom"
}
} else { // COMPUTE
if row[5] == "0" {
mode = "Latency Optimized"
} else if row[5] == "1200" {
mode = "Default"
} else {
mode = "Custom"
}
}
values[i] = append(values[i], mode)
}
Expand Down
10 changes: 5 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ require (
github.com/intel/svr-info/internal/util v0.0.0-00010101000000-000000000000
github.com/xuri/excelize/v2 v2.8.1
golang.org/x/exp v0.0.0-20240409090435-93d18d7e34b8
golang.org/x/term v0.21.0
golang.org/x/text v0.16.0
golang.org/x/term v0.23.0
golang.org/x/text v0.17.0
gopkg.in/yaml.v2 v2.4.0
)

Expand All @@ -42,7 +42,7 @@ require (
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect
github.com/bmatcuk/doublestar v1.3.4 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/creasty/defaults v1.7.0 // indirect
github.com/creasty/defaults v1.8.0 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
Expand All @@ -67,8 +67,8 @@ require (
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.23.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
)
20 changes: 10 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7N
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/creasty/defaults v1.7.0 h1:eNdqZvc5B509z18lD8yc212CAqJNvfT1Jq6L8WowdBA=
github.com/creasty/defaults v1.7.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down Expand Up @@ -133,8 +133,8 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand All @@ -148,24 +148,24 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
Expand Down
2 changes: 1 addition & 1 deletion internal/commandfile/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ module github.com/intel/svr-info/internal/commandfile

go 1.22

require github.com/creasty/defaults v1.7.0
require github.com/creasty/defaults v1.8.0
4 changes: 2 additions & 2 deletions internal/commandfile/go.sum
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github.com/creasty/defaults v1.7.0 h1:eNdqZvc5B509z18lD8yc212CAqJNvfT1Jq6L8WowdBA=
github.com/creasty/defaults v1.7.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
4 changes: 2 additions & 2 deletions internal/progress/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ module github.com/svr-info/internal/progress

go 1.22

require golang.org/x/term v0.21.0
require golang.org/x/term v0.23.0

require golang.org/x/sys v0.21.0 // indirect
require golang.org/x/sys v0.23.0 // indirect
8 changes: 4 additions & 4 deletions internal/progress/go.sum
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
48 changes: 20 additions & 28 deletions third_party/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ tools: async-profiler avx-turbo cpuid dmidecode ethtool fio flamegraph ipmitool
cp lspci/pci.ids.gz bin/
-cp mlc/mlc bin/
cp pcm/build/bin/pcm-tpmi bin/
cp linux/tools/perf/perf bin/
cp linux_perf/tools/perf/perf bin/
cp spectre-meltdown-checker/spectre-meltdown-checker.sh bin/
cp sshpass/sshpass bin/
cp stress-ng/stress-ng bin/
cp sysstat/mpstat bin/
cp sysstat/iostat bin/
cp sysstat/sar bin/
cp sysstat/sadc bin/
cp linux/tools/power/x86/turbostat/turbostat bin/
cp linux_turbostat/tools/power/x86/turbostat/turbostat bin/

ASYNCPROFILER_VERSION := 2.9
async-profiler:
Expand All @@ -41,17 +41,11 @@ endif
tar -xf async-profiler-$(ASYNCPROFILER_VERSION)-linux-x64.tar.gz && mv async-profiler-$(ASYNCPROFILER_VERSION)-linux-x64 async-profiler
endif

# if you change the commit, check the sed hacks below
AVXTURBO_COMMIT := 4a04a45
avx-turbo:
ifeq ("$(wildcard avx-turbo)","")
git clone https://github.com/travisdowns/avx-turbo.git
else
cd avx-turbo && git checkout master && git pull
git clone https://github.com/harp-intel/avx-turbo.git
endif
cd avx-turbo && git checkout $(AVXTURBO_COMMIT)
cd avx-turbo && sed -i 281s/"read_msr_cur_cpu(MSR_IA32_MPERF/read_msr(1, MSR_IA32_MPERF"/ avx-turbo.cpp
cd avx-turbo && sed -i 282s/"read_msr_cur_cpu(MSR_IA32_APERF/read_msr(1, MSR_IA32_APERF"/ avx-turbo.cpp
cd avx-turbo && git checkout threadcpuid && git pull
cd avx-turbo && make

# if you change the version, check the sed hacks below
Expand Down Expand Up @@ -159,11 +153,14 @@ else
cd pcm && git checkout master && git pull
endif
mkdir -p pcm/build
cd pcm/build && cmake ..
cd pcm/build && cmake -DNO_ASAN=1 ..
cd pcm/build && cmake --build .

perf: linux-source
cd linux/tools/perf && make LDFLAGS=-static
PERF_LINUX_VERSION := 6.1.52
perf:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$(PERF_LINUX_VERSION).tar.xz
tar -xf linux-$(PERF_LINUX_VERSION).tar.xz && mv linux-$(PERF_LINUX_VERSION)/ linux_perf/
cd linux_perf/tools/perf && make LDFLAGS="-static --static"

spectre-meltdown-checker:
ifeq ("$(wildcard spectre-meltdown-checker)","")
Expand All @@ -175,7 +172,7 @@ endif
SSHPASS_VERSION := 1.10
sshpass:
ifeq ("$(wildcard sshpass)","")
wget https://cytranet.dl.sourceforge.net/project/sshpass/sshpass/$(SSHPASS_VERSION)/sshpass-$(SSHPASS_VERSION).tar.gz
wget https://sourceforge.net/projects/sshpass/files/sshpass/$(SSHPASS_VERSION)/sshpass-$(SSHPASS_VERSION).tar.gz
tar -xf sshpass-$(SSHPASS_VERSION).tar.gz
mv sshpass-$(SSHPASS_VERSION) sshpass
rm sshpass-$(SSHPASS_VERSION).tar.gz
Expand Down Expand Up @@ -203,17 +200,12 @@ ifeq ("$(wildcard sysstat/Makefile)","")
endif
cd sysstat && make

LINUX_VERSION := 6.1.52
linux-source:
ifeq ("$(wildcard linux)","")
ifeq ("$(wildcard linux-$(LINUX_VERSION).tar.xz)","")
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$(LINUX_VERSION).tar.xz
endif
tar -xf linux-$(LINUX_VERSION).tar.xz && mv linux-$(LINUX_VERSION)/ linux/
endif

turbostat: linux-source
cd linux/tools/power/x86/turbostat && make
TURBOSTAT_LINUX_VERSION := 6.9.12
turbostat:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$(TURBOSTAT_LINUX_VERSION).tar.xz
tar -xf linux-$(TURBOSTAT_LINUX_VERSION).tar.xz && mv linux-$(TURBOSTAT_LINUX_VERSION)/ linux_turbostat/
sed -i '/_Static_assert/d' linux_turbostat/tools/power/x86/turbostat/turbostat.c
cd linux_turbostat/tools/power/x86/turbostat && make

reset:
cd async-profiler
Expand All @@ -227,12 +219,12 @@ reset:
cd lspci && git clean -fdx && git reset --hard
cd pcm && git clean -fdx && git reset --hard
-cd mlc && git clean -fdx && git reset --hard
cd linux/tools/perf && make clean
cd linux_perf/tools/perf && make clean
cd spectre-meltdown-checker
cd sshpass && make clean
cd stress-ng && git clean -fdx && git reset --hard
cd sysstat && git clean -fdx && git reset --hard
cd linux/tools/power/x86/turbostat && make clean
cd linux_turbostat/tools/power/x86/turbostat && make clean

# not used in build but required in oss archive file because some of the tools are statically linked
glibc-2.19.tar.bz2:
Expand All @@ -244,5 +236,5 @@ libcrypt.tar.gz:
libs: glibc-2.19.tar.bz2 zlib.tar.gz libcrypt.tar.gz

oss-source: reset libs
tar --exclude-vcs -czf oss_source.tgz async-profiler/ cpuid/ dmidecode/ ethtool/ fio/ flamegraph/ ipmitool/ lshw/ lspci/ pcm/ linux/tools/perf spectre-meltdown-checker/ sshpass/ stress-ng/ sysstat/ linux/tools/power/x86/turbostat glibc-2.19.tar.bz2 zlib.tar.gz libcrypt.tar.gz
tar --exclude-vcs -czf oss_source.tgz async-profiler/ cpuid/ dmidecode/ ethtool/ fio/ flamegraph/ ipmitool/ lshw/ lspci/ pcm/ linux_perf/tools/perf spectre-meltdown-checker/ sshpass/ stress-ng/ sysstat/ linux_turbostat/tools/power/x86/turbostat glibc-2.19.tar.bz2 zlib.tar.gz libcrypt.tar.gz
md5sum oss_source.tgz > oss_source.tgz.md5
Loading
Loading