Skip to content

Commit 82470eb

Browse files
Yishai Hadasawilliam
authored andcommitted
vfio/mlx5: Wake up the reader post of disabling the SAVING migration file
Post of disabling the SAVING migration file, which includes setting the file state to be MLX5_MIGF_STATE_ERROR, call to wake_up_interruptible() on its poll_wait member. This lets any potential reader which is waiting already for data as part of mlx5vf_save_read() to wake up, recognize the error state and return with an error. Post of that we don't need to rely on any other condition to wake up the reader as of the returning of the SAVE command that was previously executed, etc. In addition, this change will simplify error flows (e.g health recovery) once we'll move to chunk mode and multiple SAVE commands may run in the STOP_COPY phase as we won't need to rely any more on a SAVE command to wake-up a potential waiting reader. Signed-off-by: Yishai Hadas <yishaih@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20230911093856.81910-3-yishaih@nvidia.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
1 parent 61050c7 commit 82470eb

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/vfio/pci/mlx5/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,7 @@ void mlx5vf_disable_fds(struct mlx5vf_pci_core_device *mvdev)
10191019
mlx5_cmd_cleanup_async_ctx(&mvdev->saving_migf->async_ctx);
10201020
cancel_work_sync(&mvdev->saving_migf->async_data.work);
10211021
mlx5vf_disable_fd(mvdev->saving_migf);
1022+
wake_up_interruptible(&mvdev->saving_migf->poll_wait);
10221023
mlx5fv_cmd_clean_migf_resources(mvdev->saving_migf);
10231024
fput(mvdev->saving_migf->filp);
10241025
mvdev->saving_migf = NULL;

0 commit comments

Comments
 (0)