diff mbox series

fixup! drm/amdkfd: CRIU export dmabuf handles for GTT BOs

Message ID 20220309212031.3063-1-david.yatsin@amd.com (mailing list archive)
State New, archived
Headers show
Series fixup! drm/amdkfd: CRIU export dmabuf handles for GTT BOs | expand

Commit Message

David Yat Sin March 9, 2022, 9:20 p.m. UTC
Signed-off-by: David Yat Sin <david.yatsin@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 ++++++
 include/uapi/linux/kfd_ioctl.h           | 2 ++
 2 files changed, 8 insertions(+)

Comments

Felix Kuehling March 9, 2022, 9:23 p.m. UTC | #1
On 2022-03-09 16:20, David Yat Sin wrote:
> Signed-off-by: David Yat Sin <david.yatsin@amd.com>

Please add the commit description back. And let's wait for Alex to 
confirm that the fixup-method is OK. With that fixed, the patch is

Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>


> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 ++++++
>   include/uapi/linux/kfd_ioctl.h           | 2 ++
>   2 files changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> index e1e2362841f8..607f65ab39ac 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> @@ -1767,7 +1767,10 @@ static int criu_checkpoint_bos(struct kfd_process *p,
>   						&bo_bucket->dmabuf_fd);
>   				if (ret)
>   					goto exit;
> +			} else {
> +				bo_bucket->dmabuf_fd = KFD_INVALID_FD;
>   			}
> +
>   			if (bo_bucket->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL)
>   				bo_bucket->offset = KFD_MMAP_TYPE_DOORBELL |
>   					KFD_MMAP_GPU_ID(pdd->dev->id);
> @@ -2219,7 +2222,10 @@ static int criu_restore_bo(struct kfd_process *p,
>   					    &bo_bucket->dmabuf_fd);
>   		if (ret)
>   			return ret;
> +	} else {
> +		bo_bucket->dmabuf_fd = KFD_INVALID_FD;
>   	}
> +
>   	return 0;
>   }
>   
> diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
> index eb9ff85f8556..42975e940758 100644
> --- a/include/uapi/linux/kfd_ioctl.h
> +++ b/include/uapi/linux/kfd_ioctl.h
> @@ -196,6 +196,8 @@ struct kfd_ioctl_dbg_wave_control_args {
>   	__u32 buf_size_in_bytes;	/*including gpu_id and buf_size */
>   };
>   
> +#define KFD_INVALID_FD     0xffffffff
> +
>   /* Matching HSA_EVENTTYPE */
>   #define KFD_IOC_EVENT_SIGNAL			0
>   #define KFD_IOC_EVENT_NODECHANGE		1
Alex Deucher March 9, 2022, 9:39 p.m. UTC | #2
No problem.  squashed in:
https://gitlab.freedesktop.org/agd5f/linux/-/commit/74041e46982cd627e7b52f9c3ed37d23a4973b5f

Alex


Alex

On Wed, Mar 9, 2022 at 4:23 PM Felix Kuehling <felix.kuehling@amd.com> wrote:
>
> On 2022-03-09 16:20, David Yat Sin wrote:
> > Signed-off-by: David Yat Sin <david.yatsin@amd.com>
>
> Please add the commit description back. And let's wait for Alex to
> confirm that the fixup-method is OK. With that fixed, the patch is
>
> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
>
>
> > ---
> >   drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 ++++++
> >   include/uapi/linux/kfd_ioctl.h           | 2 ++
> >   2 files changed, 8 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> > index e1e2362841f8..607f65ab39ac 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> > @@ -1767,7 +1767,10 @@ static int criu_checkpoint_bos(struct kfd_process *p,
> >                                               &bo_bucket->dmabuf_fd);
> >                               if (ret)
> >                                       goto exit;
> > +                     } else {
> > +                             bo_bucket->dmabuf_fd = KFD_INVALID_FD;
> >                       }
> > +
> >                       if (bo_bucket->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL)
> >                               bo_bucket->offset = KFD_MMAP_TYPE_DOORBELL |
> >                                       KFD_MMAP_GPU_ID(pdd->dev->id);
> > @@ -2219,7 +2222,10 @@ static int criu_restore_bo(struct kfd_process *p,
> >                                           &bo_bucket->dmabuf_fd);
> >               if (ret)
> >                       return ret;
> > +     } else {
> > +             bo_bucket->dmabuf_fd = KFD_INVALID_FD;
> >       }
> > +
> >       return 0;
> >   }
> >
> > diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
> > index eb9ff85f8556..42975e940758 100644
> > --- a/include/uapi/linux/kfd_ioctl.h
> > +++ b/include/uapi/linux/kfd_ioctl.h
> > @@ -196,6 +196,8 @@ struct kfd_ioctl_dbg_wave_control_args {
> >       __u32 buf_size_in_bytes;        /*including gpu_id and buf_size */
> >   };
> >
> > +#define KFD_INVALID_FD     0xffffffff
> > +
> >   /* Matching HSA_EVENTTYPE */
> >   #define KFD_IOC_EVENT_SIGNAL                        0
> >   #define KFD_IOC_EVENT_NODECHANGE            1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index e1e2362841f8..607f65ab39ac 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -1767,7 +1767,10 @@  static int criu_checkpoint_bos(struct kfd_process *p,
 						&bo_bucket->dmabuf_fd);
 				if (ret)
 					goto exit;
+			} else {
+				bo_bucket->dmabuf_fd = KFD_INVALID_FD;
 			}
+
 			if (bo_bucket->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL)
 				bo_bucket->offset = KFD_MMAP_TYPE_DOORBELL |
 					KFD_MMAP_GPU_ID(pdd->dev->id);
@@ -2219,7 +2222,10 @@  static int criu_restore_bo(struct kfd_process *p,
 					    &bo_bucket->dmabuf_fd);
 		if (ret)
 			return ret;
+	} else {
+		bo_bucket->dmabuf_fd = KFD_INVALID_FD;
 	}
+
 	return 0;
 }
 
diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
index eb9ff85f8556..42975e940758 100644
--- a/include/uapi/linux/kfd_ioctl.h
+++ b/include/uapi/linux/kfd_ioctl.h
@@ -196,6 +196,8 @@  struct kfd_ioctl_dbg_wave_control_args {
 	__u32 buf_size_in_bytes;	/*including gpu_id and buf_size */
 };
 
+#define KFD_INVALID_FD     0xffffffff
+
 /* Matching HSA_EVENTTYPE */
 #define KFD_IOC_EVENT_SIGNAL			0
 #define KFD_IOC_EVENT_NODECHANGE		1