diff mbox series

[v6,1/5] drm/amdgpu: Allocate coredump memory in a nonblocking way

Message ID 20230911030018.73540-2-andrealmeid@igalia.com (mailing list archive)
State New, archived
Headers show
Series drm/amdgpu: Rework coredump memory allocation | expand

Commit Message

André Almeida Sept. 11, 2023, 3 a.m. UTC
During a GPU reset, a normal memory reclaim could block to reclaim
memory. Giving that coredump is a best effort mechanism, it shouldn't
disturb the reset path. Change its memory allocation flag to a
nonblocking one.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
---
v5: no change
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christian König Sept. 11, 2023, 11:14 a.m. UTC | #1
Am 11.09.23 um 05:00 schrieb André Almeida:
> During a GPU reset, a normal memory reclaim could block to reclaim
> memory. Giving that coredump is a best effort mechanism, it shouldn't
> disturb the reset path. Change its memory allocation flag to a
> nonblocking one.

Since it is a bug fix I've already pushed this one into our internal 
branch quite a while ago.

Shashank can you take care of picking up the remaining patches and 
pushing them to amd-staging-drm-next?

Thanks,
Christian.

>
> Signed-off-by: André Almeida <andrealmeid@igalia.com>
> Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> v5: no change
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index aa171db68639..bf4781551f88 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4847,7 +4847,7 @@ static void amdgpu_reset_capture_coredumpm(struct amdgpu_device *adev)
>   	struct drm_device *dev = adev_to_drm(adev);
>   
>   	ktime_get_ts64(&adev->reset_time);
> -	dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL,
> +	dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_NOWAIT,
>   		      amdgpu_devcoredump_read, amdgpu_devcoredump_free);
>   }
>   #endif
Sharma, Shashank Sept. 11, 2023, 1:13 p.m. UTC | #2
[AMD Official Use Only - General]

Hey Christian,

Will do that.

Regards
Shashank

-----Original Message-----
From: Koenig, Christian <Christian.Koenig@amd.com>
Sent: Monday, September 11, 2023 1:15 PM
To: André Almeida <andrealmeid@igalia.com>; dri-devel@lists.freedesktop.org; amd-gfx@lists.freedesktop.org; linux-kernel@vger.kernel.org; Sharma, Shashank <Shashank.Sharma@amd.com>
Cc: kernel-dev@igalia.com; Deucher, Alexander <Alexander.Deucher@amd.com>; Pelloux-Prayer, Pierre-Eric <Pierre-eric.Pelloux-prayer@amd.com>
Subject: Re: [PATCH v6 1/5] drm/amdgpu: Allocate coredump memory in a nonblocking way

Am 11.09.23 um 05:00 schrieb André Almeida:
> During a GPU reset, a normal memory reclaim could block to reclaim
> memory. Giving that coredump is a best effort mechanism, it shouldn't
> disturb the reset path. Change its memory allocation flag to a
> nonblocking one.

Since it is a bug fix I've already pushed this one into our internal branch quite a while ago.

Shashank can you take care of picking up the remaining patches and pushing them to amd-staging-drm-next?

Thanks,
Christian.

>
> Signed-off-by: André Almeida <andrealmeid@igalia.com>
> Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> v5: no change
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index aa171db68639..bf4781551f88 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4847,7 +4847,7 @@ static void amdgpu_reset_capture_coredumpm(struct amdgpu_device *adev)
>       struct drm_device *dev = adev_to_drm(adev);
>
>       ktime_get_ts64(&adev->reset_time);
> -     dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL,
> +     dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_NOWAIT,
>                     amdgpu_devcoredump_read, amdgpu_devcoredump_free);
>   }
>   #endif
Sharma, Shashank Sept. 15, 2023, 4:52 p.m. UTC | #3
[AMD Official Use Only - General]

Pushed the rest of the patches in the series to amd-staging-drm-next.

Regards
Shashank
-----Original Message-----
From: Koenig, Christian <Christian.Koenig@amd.com>
Sent: Monday, September 11, 2023 1:15 PM
To: André Almeida <andrealmeid@igalia.com>; dri-devel@lists.freedesktop.org; amd-gfx@lists.freedesktop.org; linux-kernel@vger.kernel.org; Sharma, Shashank <Shashank.Sharma@amd.com>
Cc: kernel-dev@igalia.com; Deucher, Alexander <Alexander.Deucher@amd.com>; Pelloux-Prayer, Pierre-Eric <Pierre-eric.Pelloux-prayer@amd.com>
Subject: Re: [PATCH v6 1/5] drm/amdgpu: Allocate coredump memory in a nonblocking way

Am 11.09.23 um 05:00 schrieb André Almeida:
> During a GPU reset, a normal memory reclaim could block to reclaim
> memory. Giving that coredump is a best effort mechanism, it shouldn't
> disturb the reset path. Change its memory allocation flag to a
> nonblocking one.

Since it is a bug fix I've already pushed this one into our internal branch quite a while ago.

Shashank can you take care of picking up the remaining patches and pushing them to amd-staging-drm-next?

Thanks,
Christian.

>
> Signed-off-by: André Almeida <andrealmeid@igalia.com>
> Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> v5: no change
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index aa171db68639..bf4781551f88 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4847,7 +4847,7 @@ static void amdgpu_reset_capture_coredumpm(struct amdgpu_device *adev)
>       struct drm_device *dev = adev_to_drm(adev);
>
>       ktime_get_ts64(&adev->reset_time);
> -     dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL,
> +     dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_NOWAIT,
>                     amdgpu_devcoredump_read, amdgpu_devcoredump_free);
>   }
>   #endif
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index aa171db68639..bf4781551f88 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4847,7 +4847,7 @@  static void amdgpu_reset_capture_coredumpm(struct amdgpu_device *adev)
 	struct drm_device *dev = adev_to_drm(adev);
 
 	ktime_get_ts64(&adev->reset_time);
-	dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_KERNEL,
+	dev_coredumpm(dev->dev, THIS_MODULE, adev, 0, GFP_NOWAIT,
 		      amdgpu_devcoredump_read, amdgpu_devcoredump_free);
 }
 #endif