Skip to content

fix: change bfq patch to select "none" scheduler as default#10240

Merged
christopherco merged 2 commits into3.0-devfrom
chrco/systemd-bfq-udev
Aug 24, 2024
Merged

fix: change bfq patch to select "none" scheduler as default#10240
christopherco merged 2 commits into3.0-devfrom
chrco/systemd-bfq-udev

Conversation

@christopherco
Copy link
Copy Markdown
Collaborator

@christopherco christopherco commented Aug 23, 2024

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

On Azure, it is recommended to use an i/o scheduler that passes the scheduling decisions to the underlying Hyper-V hypervisor. In our case, we should use the "none" scheduler, which is also ideal for fast random I/O devices like NVMe. So we update Fedora's bfq patch to change the udev rule to select "none" instead of Fedora's default Budget Fair Queuing (bfq) and rename the patch from referencing "bfq" to "none".

https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/best-practices-for-running-linux-on-hyper-v#use-io-scheduler-noopnone-for-better-disk-io-performance

Signed-off-by: Chris Co chrco@microsoft.com

Does this affect the toolchain?

NO

Associated issues
Test Methodology

On Azure, it is recommended to use an i/o scheduler that passes the scheduling
decisions to the underlying Hyper-V hypervisor. In our case, we should use
the "none" scheduler, which is also ideal for fast random I/O devices like
NVMe. So we update Fedora's bfq patch to change the udev rule to select "none"
instead of Fedora's default Budget Fair Queuing (bfq) and rename the patch
from referencing "bfq" to "none".

Signed-off-by: Chris Co <chrco@microsoft.com>
Signed-off-by: Chris Co <chrco@microsoft.com>
@mfrw mfrw added the 3.0-dev PRs Destined for AzureLinux 3.0 label Aug 23, 2024
@christopherco christopherco marked this pull request as ready for review August 23, 2024 21:43
@christopherco christopherco requested review from a team as code owners August 23, 2024 21:43
@christopherco christopherco merged commit bde321f into 3.0-dev Aug 24, 2024
@christopherco christopherco deleted the chrco/systemd-bfq-udev branch August 24, 2024 01:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0-dev PRs Destined for AzureLinux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants