Skip to content

Commit

Permalink
build: attempt setting tsc as clock source (#2144)
Browse files Browse the repository at this point in the history
* Use tsc as clocksource for all x86 instances

* Add shared set clocksource script, remove service
  • Loading branch information
mselim00 authored Feb 12, 2025
1 parent d051ea6 commit 0030ac5
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 84 deletions.
6 changes: 0 additions & 6 deletions templates/al2/provisioners/install-worker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,6 @@ if yum list installed | grep ec2-net-utils; then sudo yum remove ec2-net-utils -

sudo mkdir -p /etc/eks/

################################################################################
### Time #######################################################################
################################################################################

sudo mv $WORKING_DIR/configure-clocksource.service /etc/eks/configure-clocksource.service

################################################################################
### SSH ########################################################################
################################################################################
Expand Down
6 changes: 0 additions & 6 deletions templates/al2/provisioners/upgrade-kernel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,3 @@ sudo yum install -y "kernel-headers-${KERNEL_VERSION}*" "kernel-devel-${KERNEL_V
sudo grubby \
--update-kernel=ALL \
--args="psi=1"

# use the tsc clocksource by default
# https://repost.aws/knowledge-center/manage-ec2-linux-clock-source
sudo grubby \
--update-kernel=ALL \
--args="clocksource=tsc tsc=reliable"
5 changes: 0 additions & 5 deletions templates/al2/runtime/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -335,11 +335,6 @@ if [ "$MOUNT_BPF_FS" = "true" ]; then
mount-bpf-fs
fi

cp -v /etc/eks/configure-clocksource.service /etc/systemd/system/configure-clocksource.service
chown root:root /etc/systemd/system/configure-clocksource.service
systemctl daemon-reload
systemctl enable --now configure-clocksource

ECR_URI=$(/etc/eks/get-ecr-uri.sh "${AWS_DEFAULT_REGION}" "${AWS_SERVICES_DOMAIN}" "${PAUSE_CONTAINER_ACCOUNT:-}")
PAUSE_CONTAINER_IMAGE=${PAUSE_CONTAINER_IMAGE:-$ECR_URI/eks/pause}
PAUSE_CONTAINER="$PAUSE_CONTAINER_IMAGE:$PAUSE_CONTAINER_VERSION"
Expand Down
11 changes: 9 additions & 2 deletions templates/al2/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,11 @@
"KERNEL_VERSION={{user `kernel_version`}}"
]
},
{
"type": "shell",
"remote_folder": "{{ user `remote_folder`}}",
"script": "{{template_dir}}/../shared/provisioners/set-clocksource.sh"
},
{
"type": "shell",
"remote_folder": "{{ user `remote_folder`}}",
Expand All @@ -181,7 +186,9 @@
{
"type": "shell",
"remote_folder": "{{ user `remote_folder`}}",
"inline": ["sudo reboot"],
"inline": [
"sudo reboot"
],
"expect_disconnect": true,
"pause_after": "90s"
},
Expand Down Expand Up @@ -272,4 +279,4 @@
}
}
]
}
}
7 changes: 0 additions & 7 deletions templates/al2023/provisioners/install-worker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,6 @@ EOF
# Temporary fix for https://github.com/aws/amazon-vpc-cni-k8s/pull/2118
sudo sed -i "s/^MACAddressPolicy=.*/MACAddressPolicy=none/" /usr/lib/systemd/network/99-default.link || true

################################################################################
### Time #######################################################################
################################################################################

sudo cp -v $WORKING_DIR/shared/configure-clocksource.service /etc/systemd/system/configure-clocksource.service
sudo systemctl enable configure-clocksource

################################################################################
### SSH ########################################################################
################################################################################
Expand Down
7 changes: 6 additions & 1 deletion templates/al2023/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,11 @@
"sudo chmod -R a+x {{user `working_dir`}}/gpu/*"
]
},
{
"type": "shell",
"remote_folder": "{{ user `remote_folder`}}",
"script": "{{template_dir}}/../shared/provisioners/set-clocksource.sh"
},
{
"type": "shell",
"remote_folder": "{{ user `remote_folder`}}",
Expand Down Expand Up @@ -322,4 +327,4 @@
}
}
]
}
}
11 changes: 11 additions & 0 deletions templates/shared/provisioners/set-clocksource.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash

set -o pipefail
set -o nounset
set -o errexit

# use the tsc clocksource by default
# https://repost.aws/knowledge-center/manage-ec2-linux-clock-source
sudo grubby \
--update-kernel=ALL \
--args="clocksource=tsc tsc=reliable"
46 changes: 0 additions & 46 deletions templates/shared/runtime/bin/configure-clocksource

This file was deleted.

11 changes: 0 additions & 11 deletions templates/shared/runtime/configure-clocksource.service

This file was deleted.

0 comments on commit 0030ac5

Please sign in to comment.