Skip to content
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
63 changes: 5 additions & 58 deletions images/macos/toolsets/toolset-xcode-27.json
Original file line number Diff line number Diff line change
@@ -1,36 +1,20 @@
{
"xcode": {
"default": "27_beta_4",
"x64": {
"versions": [
{
"link": "27_beta_4",
"filename": "Xcode_27_beta_4",
"version": "27.0+27A5228h",
"symlinks": ["27.0"],
"sha256": "808582beef282213b3a5a1132338ea7f866010a819543fcc91ab12f24c15919d",
"install_runtimes": "default"
}
]
},
"default": "27_beta_5",
"arm64": {
"versions": [
{
"link": "27_beta_4",
"filename": "Xcode_27_beta_4",
"version": "27.0+27A5228h",
"link": "27_beta_5",
"filename": "Xcode_27_beta_5",
"version": "27.0+27A5237l",
"symlinks": ["27.0"],
"sha256": "808582beef282213b3a5a1132338ea7f866010a819543fcc91ab12f24c15919d",
"sha256": "1f92c0fbb7268205e9b1f8061bf47db012a92e47729557c79ac053c9e5bd881a",
"install_runtimes": "default"
}
]
}
},
"java": {
"x64": {
"default": "21",
"versions": [ "11", "17", "21", "25" ]
},
"arm64": {
"default": "21",
"versions": [ "11", "17", "21", "25" ]
Expand Down Expand Up @@ -106,13 +90,6 @@
},
"dotnet": {
"arch":{
"x64": {
"versions": [
"8.0",
"9.0",
"10.0"
]
},
"arm64": {
"versions": [
"8.0",
Expand All @@ -137,14 +114,6 @@
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"3.11.*",
"3.12.*",
"3.13.*",
"3.14.*"
]
},
"arm64": {
"versions": [
"3.11.*",
Expand All @@ -160,12 +129,6 @@
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"22.*",
"24.*"
]
},
"arm64": {
"versions": [
"22.*",
Expand All @@ -179,14 +142,6 @@
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [
"1.24.*",
"1.25.*",
"1.26.*"
]
},
"arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [
Expand All @@ -200,14 +155,6 @@
{
"name": "Ruby",
"arch": {
"x64": {
"versions": [
"3.2.*",
"3.3.*",
"3.4.*",
"4.0.*"
]
},
"arm64": {
"versions": [
"3.2.*",
Expand Down
3 changes: 2 additions & 1 deletion images/ubuntu/scripts/build/configure-environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ echo 'ACTION=="add", SUBSYSTEM=="module", KERNEL=="nf_conntrack", RUN+="/usr/sbi
# Linux kernel 6.17 changed read_ahead_kb default from 128 to 4096 on Azure VMs
# where disks are presented as rotational (ROTA=1). This floods the page cache
# with unused data during random-access I/O and causes memory exhaustion and thrashing.
# Azure v4 VM series use SCSI disks (sd*); v5/v6 use NVMe namespaces (nvme*n*).
if ! is_ubuntu22; then
readahead_rule='/etc/udev/rules.d/99-readahead.rules'
echo 'ACTION=="add|change", KERNEL=="sd*", ATTR{queue/read_ahead_kb}="128"' | tee "$readahead_rule"
echo 'ACTION=="add|change", KERNEL=="sd*|nvme*n*", ATTR{queue/read_ahead_kb}="128"' | tee "$readahead_rule"
fi

# Create symlink for tests running
Expand Down
9 changes: 5 additions & 4 deletions images/ubuntu/scripts/tests/System.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ Describe "ReadAhead udev rule" -Skip:(Test-IsUbuntu22) {
"/etc/udev/rules.d/99-readahead.rules" | Should -Exist
}

It "udev rule contains correct read_ahead_kb value" {
It "udev rule covers SCSI and NVMe devices with correct read_ahead_kb value" {
$content = Get-Content "/etc/udev/rules.d/99-readahead.rules" -Raw
$content | Should -Match 'KERNEL=="sd\*\|nvme\*n\*"'
$content | Should -Match 'ATTR\{queue/read_ahead_kb\}="128"'
}

It "All sd* devices have read_ahead_kb set to 128" {
$devices = Get-ChildItem "/sys/block/sd*/queue/read_ahead_kb" -ErrorAction SilentlyContinue
$devices | Should -Not -BeNullOrEmpty -Because "there should be at least one sd* block device"
It "All SCSI and NVMe devices have read_ahead_kb set to 128" {
$devices = Get-ChildItem "/sys/block/sd*/queue/read_ahead_kb", "/sys/block/nvme*n*/queue/read_ahead_kb" -ErrorAction SilentlyContinue
$devices | Should -Not -BeNullOrEmpty -Because "there should be at least one sd* or nvme* block device"
foreach ($dev in $devices) {
$value = (Get-Content $dev.FullName).Trim()
$value | Should -Be "128" -Because "read_ahead_kb for $($dev.FullName) should be 128 to prevent I/O thrashing"
Expand Down
Loading