[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tests/functional/test_x86_64_hotplug_cpu: Fix race condition dur
From: |
Thomas Huth |
Subject: |
[PATCH] tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug |
Date: |
Tue, 7 Jan 2025 12:52:45 +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.
Reported-by: Stefan Hajnoczi <stefanha@gmail.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
- [PATCH] tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug,
Thomas Huth <=