tests/functional/test_x86_64_hotplug_cpu: Fix race condition during unplug
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>
This commit is contained in:
parent
5cd37fe6dd
commit
f69705f300
@ -59,10 +59,12 @@ class HotPlugCPU(LinuxKernelTest):
|
|||||||
'cd /sys/devices/system/cpu/cpu1',
|
'cd /sys/devices/system/cpu/cpu1',
|
||||||
'cpu1#')
|
'cpu1#')
|
||||||
|
|
||||||
|
exec_command_and_wait_for_pattern(self, 'cd ..', prompt)
|
||||||
self.vm.cmd('device_del', id='c1')
|
self.vm.cmd('device_del', id='c1')
|
||||||
|
|
||||||
exec_command_and_wait_for_pattern(self,
|
exec_command_and_wait_for_pattern(self,
|
||||||
'cd /sys/devices/system/cpu/cpu1',
|
'while cd /sys/devices/system/cpu/cpu1 ;'
|
||||||
|
' do sleep 0.2 ; done',
|
||||||
'No such file or directory')
|
'No such file or directory')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user