Skip to content

RHEL-50142: Add IO limits to the Windows Guest debugging tools [CI-NO-BUILD] #1347

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Jedoku
Copy link
Contributor

@Jedoku Jedoku commented Apr 17, 2025

RFC

@YanVugenfirer
Copy link
Collaborator

Can one of the admins verify this patch?

"x86" { $subdir = "x86" }
"x86_64" { $subdir = "amd64" }
"ia64" { $subdir = "amd64" }
default { $subdir = "amd64"; Write-Host "DEBUG: Unknown arch '$arch', defaulting to amd64" }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Write-Debug for debug messages, by this is more warning message than debug

Write-Warning "diskspd.exe not available. Skipping IO Limits collection."
return
}
$lunDisks = Get-Disk
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why lunDisks instead of disks?


if (-not (Test-Path $diskspdExe)) {
if (-not (Test-Path $zipPath)) {
Write-Warning "DiskSpd.zip not found. Please place it next to the script."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Currently, we need to provide 2 files for collecting logs. One of them is binary, so better to check the file checksum to make sure that it is not replaced with some virus.zip
  2. Update the README with information that DiskSpd.zip is required to be copied too.

@YanVugenfirer, what about downloading DiskSpd.zip from GitHub if it is not found, but an Internet connection is present?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need diskspd? Maybe let's check what it does and add it to the script.

https://github.com/microsoft/diskspd

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diskspd uses DeviceIOControl to get IO information, it will be complicated to rewrite on powershell


$diskspdExe = Join-Path $scriptDir 'diskspd.exe'
$zipPath = Join-Path $scriptDir 'DiskSpd.ZIP'
$extractDir = Join-Path $scriptDir 'DiskSpdExtracted'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Script is part of ISO, so $scriptDir is a read-only directory and you CAN'T extract files to it!

}

$diskspdExe = Join-Path $scriptDir 'diskspd.exe'
$zipPath = Join-Path $scriptDir 'DiskSpd.ZIP'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@YanVugenfirer Do we need *pdb in the Zip archive, maybe remove it?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those diskspd pdbs? Why do we need them? Are they needed for tracing?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those diskspd pdbs?

Yes

Why do we need them?

It was in release artifact the same as we do for drivers

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, depending on the amount of functionality we need, we can either incorporate it in the script, download the diskspd from GitHub, or even build it (it is MIT licensed).

I think the only reason to have PDB for use for diskspd if for some reason we need the trace it produces.

@kostyanf14 kostyanf14 changed the title RHEL-50142: Add IO limits to the Windows Guest debugging tools RHEL-50142: Add IO limits to the Windows Guest debugging tools [CI-NO-BUILD] Apr 17, 2025
Signed-off-by: Vitalii Chulak <vitalii@daynix.com>
@Jedoku Jedoku force-pushed the RHEL-50142-Add-IO-limits-to-the-Windows-Guest-debugging-tools branch from 2bc8f2c to 2de2eea Compare May 7, 2025 09:18
@Jedoku
Copy link
Contributor Author

Jedoku commented May 7, 2025

\LogicalDisk(C:)\Disk Reads/sec: 145,87 IOPS
\LogicalDisk(C:)\Disk Writes/sec: 222,97 IOPS
\LogicalDisk(C:)\Avg. Disk sec/Read: 0,00 ms
\LogicalDisk(C:)\Avg. Disk sec/Write: 0,00 ms
\LogicalDisk(C:)\Disk Bytes/sec: 21 877,52 KB/s
\LogicalDisk(C:)\Disk Read Bytes/sec: 2 051,64 KB/s
\LogicalDisk(C:)\Disk Write Bytes/sec: 21 106,23 KB/s
\LogicalDisk(C:)\Disk Transfers/sec: 303,95 IOPS
\LogicalDisk(C:)\Current Disk Queue Length: 0,00 ms
SequentialRead: 369.67 MB/s
RandomWrite: 131.25 MB/s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants