Skip to content

Increase dom0 scheduling weight#789

Merged
marmarek merged 1 commit intoQubesOS:mainfrom
DemiMarie:dom0-extra-credit
Mar 30, 2026
Merged

Increase dom0 scheduling weight#789
marmarek merged 1 commit intoQubesOS:mainfrom
DemiMarie:dom0-extra-credit

Conversation

@DemiMarie
Copy link
Copy Markdown
Contributor

@DemiMarie DemiMarie commented Mar 15, 2026

Dom0 is responsible for the UI and for critical background activities. In particular, it is on the critical path for VM start. Therefore, it should be prioritized over all other VMs to avoid priority inversion.

Dom0 has been intended to have additional credit since a179894 ("Initial public commit."), but nowadays Xen uses the credit2 scheduler, so changing the parameters of the credit scheduler has no effect.

Fixes: QubesOS/qubes-issues#10778

@marmarek
Copy link
Copy Markdown
Member

Fixes: a179894 ("Initial public commit.")

This is wrong, it was correct at that time.

@DemiMarie
Copy link
Copy Markdown
Contributor Author

Fixes: a179894 ("Initial public commit.")

This is wrong, it was correct at that time.

Dropped

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.07%. Comparing base (53ca30f) to head (5ba3415).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #789      +/-   ##
==========================================
- Coverage   70.15%   70.07%   -0.09%     
==========================================
  Files          61       61              
  Lines       13995    13964      -31     
==========================================
- Hits         9818     9785      -33     
- Misses       4177     4179       +2     
Flag Coverage Δ
unittests 70.07% <ø> (-0.09%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ben-grande
Copy link
Copy Markdown
Contributor

ben-grande commented Mar 22, 2026

Fixes: a179894 ("Initial public commit.")

This is wrong, it was correct at that time.

Dropped

Please push the changes and edit the first post.

@qubesos-bot
Copy link
Copy Markdown

qubesos-bot commented Mar 25, 2026

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026032922-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026032404-devel&flavor=update

  • system_tests_whonix

    • whonixcheck: wait_serial (wait serial expected)
      # wait_serial expected: qr/D8rIe-\d+-/...
  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-13-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_network_ipv6

  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-apps-features...
  • system_tests_dispvm_perf@hw7

  • system_tests_gpu_passthrough@hw13

    • gpu_passthrough: unnamed test (unknown)

    • gpu_passthrough: Failed (test died)
      # Test died: no candidate needle with tag(s) 'xterm' matched...

    • gpu_passthrough: wait_serial (wait serial expected)
      # wait_serial expected: qr/RvgPw-\d+-/...

Failed tests

26 failures
  • system_tests_whonix

    • whonixcheck: fail (unknown)
      Whonixcheck for anon-whonix failed...

    • whonixcheck: wait_serial (wait serial expected)
      # wait_serial expected: qr/D8rIe-\d+-/...

    • whonixcheck: Failed (test died + timed out)
      # Test died: command 'qvm-run -ap whonix-gateway-18 'LC_ALL=C whon...

  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-13-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_011_template_based_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-42-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-42-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_network_ipv6

  • system_tests_qwt_win10@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-apps-features...
  • system_tests_dispvm_perf@hw7

  • system_tests_gpu_passthrough@hw13

    • gpu_passthrough: unnamed test (unknown)

    • gpu_passthrough: Failed (test died)
      # Test died: no candidate needle with tag(s) 'xterm' matched...

    • gpu_passthrough: wait_serial (wait serial expected)
      # wait_serial expected: qr/RvgPw-\d+-/...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/170766#dependencies

28 fixed
  • system_tests_network

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.network failed (exit code 1), details repor...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • VmNetworking_debian-13-xfce: test_203_fake_ip_inter_vm_allow (failure)
      ^... AssertionError: 1 != 0

  • system_tests_extra

    • system_tests: Fail (unknown)
      Tests qubes.tests.extra failed (exit code 1), details reported sepa...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_01_InputProxyExclude_debian-13-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/Dhelp-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

  • system_tests_network_ipv6

  • system_tests_network_updates

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_020_install_wrong_sign (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

    • TC_11_QvmTemplateMgmtVM_debian-13-xfce: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_debian-13-xfce: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

    • TC_11_QvmTemplateMgmtVM_fedora-42-xfce: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_fedora-42-xfce: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-18: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-18: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

  • system_tests_kde_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/bMse8-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

  • system_tests_audio

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_AudioVM_Pulse_whonix-workstation-18: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: too short audio, expected 10s, got 7.59433106575963...

    • TC_20_AudioVM_PipeWire_debian-13-xfce: test_251_audio_playback_audiovm_pipewire_late_start (failure)
      AssertionError: pacat for test-inst-vm1 (xid 48) running(False) in ...

  • system_tests_qwt_win10_seamless@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...
  • system_tests_qwt_win11@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...
  • system_tests_guivm_vnc_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/C_fDy-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

Unstable tests

Details

Performance Tests

Performance degradation:

13 performance degradations
  • debian-13-xfce_exec: 8.36 🔻 ( previous job: 7.30, degradation: 114.50%)
  • fedora-42-xfce_socket-data-duplex: 96.20 🔻 ( previous job: 84.37, degradation: 114.02%)
  • whonix-workstation-18_socket: 9.20 🔻 ( previous job: 8.19, degradation: 112.25%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 374090.00 🔻 ( previous job: 485002.00, degradation: 77.13%)
  • fedora-42-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 258142.00 🔻 ( previous job: 337488.00, degradation: 76.49%)
  • fedora-42-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 42743.00 🔻 ( previous job: 73186.00, degradation: 58.40%)
  • fedora-42-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 258460.00 🔻 ( previous job: 339454.00, degradation: 76.14%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 84138.00 🔻 ( previous job: 95629.00, degradation: 87.98%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 2834.00 🔻 ( previous job: 4272.00, degradation: 66.34%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1266.00 🔻 ( previous job: 1434.00, degradation: 88.28%)
  • fedora-42-xfce_dom0-dispvm-preload-6-gui-api (mean:4.445): 53.34 🔻 ( previous job: 44.96, degradation: 118.64%)
  • fedora-42-xfce_dom0-vm-gui-api (mean:0.055): 0.66 🔻 ( previous job: 0.46, degradation: 144.64%)
  • whonix-workstation-18_dom0-vm-api (mean:0.053): 0.64 🔻 ( previous job: 0.58, degradation: 111.46%)

Remaining performance tests:

91 tests
  • debian-13-xfce_exec-root: 26.19 🟢 ( previous job: 26.58, improvement: 98.54%)
  • debian-13-xfce_socket: 8.65 🔻 ( previous job: 8.02, degradation: 107.82%)
  • debian-13-xfce_socket-root: 9.16 🔻 ( previous job: 8.38, degradation: 109.25%)
  • debian-13-xfce_exec-data-simplex: 58.96 🟢 ( previous job: 66.06, improvement: 89.24%)
  • debian-13-xfce_exec-data-duplex: 66.76 🔻 ( previous job: 61.22, degradation: 109.05%)
  • debian-13-xfce_exec-data-duplex-root: 72.96 🔻 ( previous job: 72.95, degradation: 100.01%)
  • debian-13-xfce_socket-data-duplex: 84.18 🟢 ( previous job: 86.03, improvement: 97.84%)
  • fedora-42-xfce_exec: 9.09 🟢 ( previous job: 9.09, improvement: 100.00%)
  • fedora-42-xfce_exec-root: 59.82 🔻 ( previous job: 58.88, degradation: 101.60%)
  • fedora-42-xfce_socket: 8.20 🟢 ( previous job: 8.48, improvement: 96.64%)
  • fedora-42-xfce_socket-root: 8.51 🟢 ( previous job: 8.67, improvement: 98.18%)
  • fedora-42-xfce_exec-data-simplex: 67.07 🔻 ( previous job: 61.42, degradation: 109.19%)
  • fedora-42-xfce_exec-data-duplex: 60.86 🟢 ( previous job: 65.12, improvement: 93.46%)
  • fedora-42-xfce_exec-data-duplex-root: 82.04 🟢 ( previous job: 85.37, improvement: 96.10%)
  • whonix-gateway-18_exec: 8.14 🔻 ( previous job: 7.69, degradation: 105.85%)
  • whonix-gateway-18_exec-root: 121.58 🟢 ( previous job: 132.16, improvement: 91.99%)
  • whonix-gateway-18_socket: 7.57 🟢 ( previous job: 8.05, improvement: 94.06%)
  • whonix-gateway-18_socket-root: 7.50 🔻 ( previous job: 7.16, degradation: 104.81%)
  • whonix-gateway-18_exec-data-simplex: 68.81 🔻 ( previous job: 64.40, degradation: 106.84%)
  • whonix-gateway-18_exec-data-duplex: 68.33 🔻 ( previous job: 63.65, degradation: 107.36%)
  • whonix-gateway-18_exec-data-duplex-root: 124.12 🔻 ( previous job: 123.30, degradation: 100.66%)
  • whonix-gateway-18_socket-data-duplex: 114.42 🔻 ( previous job: 113.72, degradation: 100.62%)
  • whonix-workstation-18_exec: 8.57 🔻 ( previous job: 8.20, degradation: 104.50%)
  • whonix-workstation-18_exec-root: 135.72 🟢 ( previous job: 138.84, improvement: 97.75%)
  • whonix-workstation-18_socket-root: 8.35 🟢 ( previous job: 8.92, improvement: 93.67%)
  • whonix-workstation-18_exec-data-simplex: 66.34 🔻 ( previous job: 63.54, degradation: 104.40%)
  • whonix-workstation-18_exec-data-duplex: 64.29 🔻 ( previous job: 59.45, degradation: 108.13%)
  • whonix-workstation-18_exec-data-duplex-root: 134.99 🟢 ( previous job: 139.63, improvement: 96.68%)
  • whonix-workstation-18_socket-data-duplex: 85.74 🔻 ( previous job: 80.77, degradation: 106.14%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 242333.00 🟢 ( previous job: 217546.00, improvement: 111.39%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 445444.00 🟢 ( previous job: 70705.00, improvement: 630.00%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 186571.00 🟢 ( previous job: 42537.00, improvement: 438.61%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 11380.00 🔻 ( previous job: 12342.00, degradation: 92.21%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 10051.00 🟢 ( previous job: 3011.00, improvement: 333.81%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7829.00 🟢 ( previous job: 1182.00, improvement: 662.35%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 5649.00 🟢 ( previous job: 793.00, improvement: 712.36%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 434552.00 🟢 ( previous job: 233483.00, improvement: 186.12%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 231934.00 🟢 ( previous job: 34913.00, improvement: 664.32%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 429744.00 🟢 ( previous job: 370521.00, improvement: 115.98%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 159961.00 🟢 ( previous job: 154458.00, improvement: 103.56%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 107644.00 🟢 ( previous job: 27602.00, improvement: 389.99%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 10550.00 🟢 ( previous job: 8434.00, improvement: 125.09%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7935.00 🟢 ( previous job: 7112.00, improvement: 111.57%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 4939.00 🟢 ( previous job: 4565.00, improvement: 108.19%)
  • fedora-42-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 399153.00 🔻 ( previous job: 429744.00, degradation: 92.88%)
  • fedora-42-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 233431.00 🟢 ( previous job: 82944.00, improvement: 281.43%)
  • fedora-42-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 39552.00 🟢 ( previous job: 28744.00, improvement: 137.60%)
  • fedora-42-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 85584.00 🟢 ( previous job: 82654.00, improvement: 103.54%)
  • fedora-42-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2278.00 🟢 ( previous job: 1799.00, improvement: 126.63%)
  • fedora-42-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8483.00 🔻 ( previous job: 8983.00, degradation: 94.43%)
  • fedora-42-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 777.00 🔻 ( previous job: 808.00, degradation: 96.16%)
  • fedora-42-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 366891.00 🔻 ( previous job: 386785.00, degradation: 94.86%)
  • fedora-42-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 151025.00 🟢 ( previous job: 120146.00, improvement: 125.70%)
  • fedora-42-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 319980.00 🔻 ( previous job: 344699.00, degradation: 92.83%)
  • fedora-42-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 93001.00 🟢 ( previous job: 85237.00, improvement: 109.11%)
  • fedora-42-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 2469.00 🔻 ( previous job: 2529.00, degradation: 97.63%)
  • fedora-42-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 8851.00 🟢 ( previous job: 8072.00, improvement: 109.65%)
  • fedora-42-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 1508.00 🟢 ( previous job: 1142.00, improvement: 132.05%)
  • fedora-42-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 382134.00 🟢 ( previous job: 378820.00, improvement: 100.87%)
  • fedora-42-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 203168.00 🟢 ( previous job: 98064.00, improvement: 207.18%)
  • fedora-42-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 44157.00 🟢 ( previous job: 28807.00, improvement: 153.29%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 8303.00 🟢 ( previous job: 8294.00, improvement: 100.11%)
  • debian-13-xfce_dom0-dispvm-api (mean:6.267): 75.20 🟢 ( previous job: 81.47, improvement: 92.30%)
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.086): 97.03 🔻 ( previous job: 92.38, degradation: 105.03%)
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.318): 39.82 🟢 ( previous job: 48.28, improvement: 82.48%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:2.975): 35.70 🟢 ( previous job: 44.34, improvement: 80.50%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.378): 40.54 🟢 ( previous job: 54.23, improvement: 74.75%)
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.357): 28.29 🟢 ( previous job: 40.37, improvement: 70.07%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.595): 31.14 🟢 ( previous job: 44.04, improvement: 70.71%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.43): 29.16 🟢 ( previous job: 45.36, improvement: 64.28%)
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.628): 55.53 🟢 ( previous job: 58.18, improvement: 95.45%)
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.758): 45.09 🔻 ( previous job: 43.54, degradation: 103.56%)
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.437): 41.24 🟢 ( previous job: 47.37, improvement: 87.05%)
  • debian-13-xfce_dom0-vm-api (mean:0.035): 0.42 🟢 ( previous job: 0.46, improvement: 91.29%)
  • debian-13-xfce_dom0-vm-gui-api (mean:0.046): 0.55 🔻 ( previous job: 0.51, degradation: 109.31%)
  • fedora-42-xfce_dom0-dispvm-gui-api (mean:8.232): 98.78 🟢 ( previous job: 101.79, improvement: 97.04%)
  • fedora-42-xfce_dom0-dispvm-preload-2-gui-api (mean:4.846): 58.15 🟢 ( previous job: 62.91, improvement: 92.44%)
  • fedora-42-xfce_dom0-dispvm-preload-4-gui-api (mean:4.348): 52.17 🔻 ( previous job: 51.39, degradation: 101.52%)
  • fedora-42-xfce_dom0-vm-api (mean:0.037): 0.45 🔻 ( previous job: 0.43, degradation: 104.17%)
  • whonix-workstation-18_dom0-dispvm-api (mean:8.134): 97.61 🟢 ( previous job: 114.77, improvement: 85.04%)
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:10.42): 125.04 🟢 ( previous job: 127.27, improvement: 98.24%)
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.221): 50.65 🟢 ( previous job: 70.96, improvement: 71.38%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.159): 49.91 🟢 ( previous job: 65.29, improvement: 76.45%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.483): 53.79 🟢 ( previous job: 74.32, improvement: 72.38%)
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.344): 40.13 🟢 ( previous job: 57.74, improvement: 69.49%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.344): 40.13 🟢 ( previous job: 65.76, improvement: 61.03%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.474): 41.69 🟢 ( previous job: 59.80, improvement: 69.71%)
  • whonix-workstation-18_dom0-dispvm-preload-2-gui-api (mean:5.692): 68.30 🟢 ( previous job: 78.19, improvement: 87.36%)
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.778): 57.33 🟢 ( previous job: 65.73, improvement: 87.23%)
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:4.147): 49.77 🟢 ( previous job: 61.35, improvement: 81.12%)
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.052): 0.62 🟢 ( previous job: 0.62, improvement: 99.84%)

@marmarek
Copy link
Copy Markdown
Member

Dropped

It remained in the commit message. Plus, maybe better leave old line too? Just in case somebody switches scheduler to credit.

Dom0 is responsible for the UI and for critical background activities.
In particular, it is on the critical path for VM start.  Therefore, it
should be prioritized over all other VMs to avoid priority inversion.

Qubes OS has always granted dom0 additional scheduling credit in the
credit scheduler.  However, Xen has since switched from the credit
scheduler to the credit2 scheduler.  Therefore, changing parameters in
the credit scheduler no longer has any effect.  Give dom0 the same
amount additional credit in the credit2 scheduler as well, so that it
does not matter which scheduler is used.

Fixes: QubesOS/qubes-issues#10778
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
@DemiMarie
Copy link
Copy Markdown
Contributor Author

Dropped

It remained in the commit message. Plus, maybe better leave old line too? Just in case somebody switches scheduler to credit.

Addressed

@marmarek marmarek merged commit b344bd6 into QubesOS:main Mar 30, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dom0 doesn’t get extra scheduler credit

4 participants