Skip to content
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

Turn on scatter-gather and checksum offload #367

Merged
merged 1 commit into from
Mar 26, 2022

Conversation

DemiMarie
Copy link
Contributor

There is no reason to not have scatter-gather and checksum offload
turned on.

@marmarek
Copy link
Member

I'd rather remove those ethtool calls completely and rely on default (chosen by the kernel, or other network configuration tools in given distribution) - which are both "on" here.

Also, when rolling back some non-standard settings, it's helpful to do research why they were put there in the first place, to verify if really "There is no reason to not have [...]".

  • checksum offload: Qemu-emulated NICs don't work for inter-VM traffic qubes-issues#700 (likely not relevant anymore, but it points at a configuration to test)
  • scatter-gather: 5cbb38a - this is only about re-doing the change on dynamic netvm switch; unfortunately, the other call was added with initial commit for the startup scripts already; so, lets hope our tests cover relevant scenarios...

Finally, please add reference to QubesOS/qubes-issues#3510 in the commit message

Checksum offload was turned off in QubesOS/qubes-issues#700 due to a bug
that is unlikely to still be relevant.  Scatter-gather was turned off
for unclear reasons that are also unlikely to be relevant nowadays.
This should significantly improve networking performance.

Fixes QubesOS/qubes-issues#3510.
@fepitre
Copy link
Member

fepitre commented Mar 18, 2022

This is even more important because one of my physical network does not like to turn on SG. So don't enforce it at all is required.

@DemiMarie
Copy link
Contributor Author

This is even more important because one of my physical network does not like to turn on SG. So don't enforce it at all is required.

Is it a problem if SG is enabled on the Xen interface?

@qubesos-bot
Copy link

qubesos-bot commented Mar 18, 2022

OpenQA test summary

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

New failures, excluding unstable

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

  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-11: test_010_template_based_vm (failure)
      AssertionError: Failed command: apt-get update && apt-get install -...
  • system_tests_devices

    • TC_10_Attach_fedora-34: test_000_attach_reattach (error)
      subprocess.CalledProcessError: Command 'ls /dev/xvdi' returned non-...
  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test22'
  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_00_AppVM_debian-11-pool: test_210_time_sync (error)
      subprocess.CalledProcessError: Command 'date -u +%s' returned non-z...

    • TC_00_AppVM_fedora-34-pool: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: only silence detected, no useful audio data

  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...

Failed tests

26 failures
  • system_tests_pvgrub_salt_storage

    • [unstable] TC_40_PVGrub_debian-11: test_000_standalone_vm (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...

    • TC_41_HVMGrub_debian-11: test_010_template_based_vm (failure)
      AssertionError: Failed command: apt-get update && apt-get install -...

  • system_tests_dispvm

    • [unstable] TC_20_DispVM_fedora-34: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_devices

    • TC_10_Attach_fedora-34: test_000_attach_reattach (error)
      subprocess.CalledProcessError: Command 'ls /dev/xvdi' returned non-...
  • system_tests_basic_vm_qrexec_gui_btrfs

    • [unstable] TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui_ext4

    • TC_03_QvmRevertTemplateChanges: test_000_revert_linux (error)
      NotImplementedError: FileVolume supports maximum 1 volume revision ...

    • TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test22'

  • system_tests_basic_vm_qrexec_gui_xfs

    • [unstable] TC_30_Gui_daemon: test_000_clipboard (failure)
      self.assertEqual(clipboard_content, ... AssertionError: '' != 'test24'

    • TC_00_AppVM_debian-11-pool: test_210_time_sync (error)
      subprocess.CalledProcessError: Command 'date -u +%s' returned non-z...

    • TC_00_AppVM_fedora-34-pool: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: only silence detected, no useful audio data

  • system_tests_gui_tools

    • qui_widgets_domains: unnamed test (unknown)
    • qui_widgets_domains: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qui-domains-domain-op...
  • system_tests_suspend@hw1

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/p5~T5-\d+-/u...

    • suspend: Failed (test died + timed out)
      # Test died: command 'true' timed out at qubesos/tests/suspend.pm l...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl info; echo 8Ye1l-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/8Ye1l-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl list; echo MfjdI-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/MfjdI-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "xl dmesg; echo hNz_G-\$?-"...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/hNz_G-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "journalctl -b|tail -n 10000; echo Adw2Q-\$...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: qr/Adw2Q-\d+-/u...

    • suspend: wait_serial (wait serial expected)
      # wait_serial expected: "# "...

Fixed failures

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

3 fixed
  • system_tests_network_updates

  • system_tests_pvgrub_salt_storage

    • TC_40_PVGrub_debian-11: test_010_template_based_vm (error + timed out)
      qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_basic_vm_qrexec_gui@hw1

Unstable tests

  • system_tests_basic_vm_qrexec_gui@hw1

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 35458 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test19'
  • system_tests_network

    VmNetworking_debian-11/test_040_inter_vm (1/5 times with errors)
    • job 36341 qubes.exc.QubesVMNotStartedError: Cannot dynamically attach to stop...
  • system_tests_pvgrub_salt_storage

    TC_40_PVGrub_debian-11/test_000_standalone_vm (4/5 times with errors)
    • job 35450 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36203 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36344 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36944 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_40_PVGrub_debian-11/test_010_template_based_vm (3/5 times with errors)
    • job 36203 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36483 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    • job 36944 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
  • system_tests_splitgpg

    TC_10_Thunderbird_debian-11/test_000_send_receive_default (2/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_fedora-34/test_000_send_receive_default (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_000_send_receive_default (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_00_Direct_whonix-gw-16/test_000_version (1/5 times with errors)
    • job 35451 qubes.exc.QubesVMError: qrexec-daemon startup failed: 2022-02-24 04...
    TC_10_Thunderbird_debian-11/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    TC_10_Thunderbird_fedora-34/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_010_send_receive_inline_signed_only (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_debian-11/test_020_send_receive_inline_with_attachment (2/5 times with errors)
    • job 35451 dogtail.tree.SearchError: descendent of [application | Thunderbird]...
    • job 36345 Exception: Failed to send message with error 'Status:'
    TC_10_Thunderbird_fedora-34/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 36345 dogtail.tree.SearchError: child of [desktop frame | main]: "Thunder...
    TC_10_Thunderbird_whonix-ws-16/test_020_send_receive_inline_with_attachment (1/5 times with errors)
    • job 36345 Exception: Failed to send message with error 'Status:'
  • system_tests_extra

    TC_00_ImgConverter_fedora-34/test_000_png (1/5 times with errors)
    • job 36492 Cannot process volume group qubes_dom0...
  • system_tests_manager

    GlobalSettingsTest/test_00_settings_started (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_01_load_correct_defs (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_02_dom0_updates_load (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_03_nothing_changed_ok (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_04_nothing_changed_cancel (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_10_set_update_vm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_11_set_update_vm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_20_set_clock_vm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_21_set_clock_vm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_30_set_default_netvm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_31_set_default_netvm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_40_set_default_template (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_50_set_default_kernel (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_51_set_default_kernel_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_60_set_dom0_updates_true (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_70_change_vm_updates (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_72_set_all_vms_true (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_73_set_all_vms_false (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_80_set_default_dispvm (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_81_set_default_dispvm_to_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
    GlobalSettingsTest/test_90_test_all_set_none (1/5 times with errors)
    • job 36199 Exception: Cannot detect enabled ITL template update repositories
  • system_tests_qrexec

    TC_00_Qrexec_debian-11/test_050_qrexec_simple_eof (2/5 times with errors)
    • job 36190 AssertionError: Timeout, probably EOF wasn't transferred to the VM ...
    • job 36331 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 90 secon...
    TC_00_Qrexec_debian-11/test_070_qrexec_vm_simultaneous_write (1/5 times with errors)
    • job 36331 AssertionError: Timeout, probably deadlock
  • system_tests_network_ipv6

    VmIPv6Networking_debian-11/test_020_simple_proxyvm_nm (1/5 times with errors)
    • job 36481 AssertionError: 1 != 0 : nm-applet window not found
    VmIPv6Networking_whonix-ws-16/test_020_simple_proxyvm_nm (1/5 times with errors)
    VmIPv6Networking_debian-11/test_520_ipv6_simple_proxyvm_nm (1/5 times with errors)
    • job 36342 AssertionError: 1 != 0 : nm-applet window not found
    VmIPv6Networking_debian-11/test_540_ipv6_inter_vm (1/5 times with errors)
    • job 36342 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
  • system_tests_network_updates

    TC_10_QvmTemplate_whonix-gw-16/test_010_template_install (1/5 times with errors)
    • job 36943 AssertionError: libvirt event impl drain timeout
    TC_11_QvmTemplateMgmtVM_whonix-gw-16/test_010_template_install (2/5 times with errors)
    • job 36222 AssertionError: libvirt event impl drain timeout
    • job 36343 qvm-template: error: Template 'debian-11-minimal' not found.
  • system_tests_dispvm

    TC_04_DispVM/test_003_cleanup_destroyed (2/5 times with errors)
    • job 35432 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
    • job 36325 raise exceptions.TimeoutError()... asyncio.exceptions.TimeoutError
    TC_20_DispVM_fedora-34/test_010_simple_dvm_run (1/5 times with errors)
    • job 36325 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_010_simple_dvm_run (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_010_simple_dvm_run (1/5 times with errors)
    • job 36325 assert len(self.loop._selector.get_map()) \... AssertionError
    TC_20_DispVM_whonix-gw-16/test_020_gui_app (1/5 times with errors)
    TC_20_DispVM_debian-11/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_fedora-34/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_whonix-gw-16/test_030_edit_file (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_030_edit_file (1/5 times with errors)
    • job 36325 AssertionError: Timeout while waiting for disp[0-9]* window to show
    TC_20_DispVM_debian-11/test_100_open_in_dispvm (3/5 times with errors)
    • job 35432 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36185 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_fedora-34/test_100_open_in_dispvm (1/5 times with errors)
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    TC_20_DispVM_whonix-gw-16/test_100_open_in_dispvm (1/5 times with errors)
    TC_20_DispVM_whonix-ws-16/test_100_open_in_dispvm (4/5 times with errors)
    • job 35432 AssertionError: libvirt event impl drain timeout
    • job 36185 AssertionError: libvirt event impl drain timeout
    • job 36325 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 36464 AssertionError: libvirt event impl drain timeout
  • system_tests_basic_vm_qrexec_gui_btrfs

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 36221 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui_ext4

    TC_00_AppVM_whonix-gw-16-pool/test_000_start_shutdown (1/5 times with errors)
    • job 36329 qubes.exc.QubesVMShutdownTimeoutError: Domain shutdown timed out: '...
    TC_00_AppVM_whonix-gw-16-pool/test_010_run_xterm (1/5 times with errors)
    • job 36329 OSError: Volume /var/lib/qubes-pool/appvms/test-inst-vm1/private.im...
  • system_tests_basic_vm_qrexec_gui_xfs

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 36469 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test23'
  • system_tests_basic_vm_qrexec_gui

    TC_30_Gui_daemon/test_000_clipboard (1/5 times with errors)
    • job 35458 self.assertEqual(clipboard_content, ... AssertionError: '' != 'test19'

@marmarek marmarek merged commit e099a81 into QubesOS:master Mar 26, 2022
@DemiMarie DemiMarie deleted the enable-offloads branch March 26, 2022 20:38
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.

4 participants