[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/14] tests/functional/test_x86_64_hotplug_cpu: Fix race conditio
From: |
Thomas Huth |
Subject: |
[PULL 14/14] tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug |
Date: |
Wed, 8 Jan 2025 09:45:11 +0100 |
When unplugging the CPU, the test tries to check for a successful
unplug by changing to the /sys/devices/system/cpu/cpu1 directory
to see whether that fails. However, the "cd" could be faster than
the unplug operation in the kernel, so there is a race condition
and the test sometimes fails here.
Fix it by trying to change the directory in a loop until the the
CPU has really been unplugged.
While we're at it, also add a "cd .." before unplugging to make
the console output a little bit less confusing (since the path
is echoed in the shell prompt).
Reported-by: Stefan Hajnoczi <stefanha@gmail.com>
Message-ID: <20250107115245.52755-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/test_x86_64_hotplug_cpu.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/functional/test_x86_64_hotplug_cpu.py
b/tests/functional/test_x86_64_hotplug_cpu.py
index b1d5156c72..7b9200ac2e 100755
--- a/tests/functional/test_x86_64_hotplug_cpu.py
+++ b/tests/functional/test_x86_64_hotplug_cpu.py
@@ -59,11 +59,13 @@ def test_hotplug(self):
'cd /sys/devices/system/cpu/cpu1',
'cpu1#')
+ exec_command_and_wait_for_pattern(self, 'cd ..', prompt)
self.vm.cmd('device_del', id='c1')
exec_command_and_wait_for_pattern(self,
- 'cd /sys/devices/system/cpu/cpu1',
- 'No such file or directory')
+ 'while cd /sys/devices/system/cpu/cpu1 ;'
+ ' do sleep 0.2 ; done',
+ 'No such file or directory')
if __name__ == '__main__':
LinuxKernelTest.main()
--
2.47.1
- [PULL 03/14] hw/s390x/s390-skeys: Remove the "migration-enabled" property, (continued)
- [PULL 03/14] hw/s390x/s390-skeys: Remove the "migration-enabled" property, Thomas Huth, 2025/01/08
- [PULL 02/14] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.4 and 2.5 machine types, Thomas Huth, 2025/01/08
- [PULL 05/14] hw/s390x: Remove the "ri_allowed" switch, Thomas Huth, 2025/01/08
- [PULL 04/14] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.6 machine type, Thomas Huth, 2025/01/08
- [PULL 06/14] hw/s390x/ipl: Remove the "iplbext_migration" property, Thomas Huth, 2025/01/08
- [PULL 07/14] hw/s390x/css-bridge: Remove the "css_dev_path" property, Thomas Huth, 2025/01/08
- [PULL 09/14] hw/s390x: Remove the cpu_model_allowed flag and related code, Thomas Huth, 2025/01/08
- [PULL 08/14] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.7 machine type, Thomas Huth, 2025/01/08
- [PULL 12/14] Remove the deprecated "-runas" command line option, Thomas Huth, 2025/01/08
- [PULL 10/14] hw/s390x/s390-virtio-ccw: Remove the deprecated 2.8 machine type, Thomas Huth, 2025/01/08
- [PULL 14/14] tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug,
Thomas Huth <=
- [PULL 11/14] hw/s390x: Remove the "adapter_routes_max_batch" property from the flic, Thomas Huth, 2025/01/08
- [PULL 13/14] docs/about/deprecated: Remove paragraph about initial deprecation in 2.10, Thomas Huth, 2025/01/08
- Re: [PULL 00/14] Fixes for tests and removal of deprecated features, Stefan Hajnoczi, 2025/01/08