Message ID | 20210422083749.11686-1-shiwu.zhang@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/ttm: fix error handling if no BO can be swapped out | expand |
Am 22.04.21 um 10:37 schrieb Shiwu Zhang: > Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> > --- > drivers/gpu/drm/ttm/ttm_device.c | 2 +- > drivers/gpu/drm/ttm/ttm_tt.c | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c > index 1f2024164d72..5dc92b056f0a 100644 > --- a/drivers/gpu/drm/ttm/ttm_device.c > +++ b/drivers/gpu/drm/ttm/ttm_device.c > @@ -112,7 +112,7 @@ int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags) > { > struct ttm_global *glob = &ttm_glob; > struct ttm_device *bdev; > - int ret = -EBUSY; > + int ret = 0; Please don't initialize the return value if we don't need that. Apart from that looks good to me now. Thanks, Christian. > > mutex_lock(&ttm_global_mutex); > list_for_each_entry(bdev, &glob->device_list, device_list) { > diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c > index 48c407cff112..539e0232cb3b 100644 > --- a/drivers/gpu/drm/ttm/ttm_tt.c > +++ b/drivers/gpu/drm/ttm/ttm_tt.c > @@ -329,6 +329,8 @@ int ttm_tt_populate(struct ttm_device *bdev, > ttm_dma32_pages_limit) { > > ret = ttm_global_swapout(ctx, GFP_KERNEL); > + if (ret == 0) > + break; > if (ret < 0) > goto error; > }
On Thu, Apr 22, 2021 at 04:37:49PM +0800, Shiwu Zhang wrote: > Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> Cc: stable@vger.kernel.org or at least Fixes: tag? Zero length commit message for something that claims to be a bugfix is probably too short :-) -Daniel > --- > drivers/gpu/drm/ttm/ttm_device.c | 2 +- > drivers/gpu/drm/ttm/ttm_tt.c | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c > index 1f2024164d72..5dc92b056f0a 100644 > --- a/drivers/gpu/drm/ttm/ttm_device.c > +++ b/drivers/gpu/drm/ttm/ttm_device.c > @@ -112,7 +112,7 @@ int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags) > { > struct ttm_global *glob = &ttm_glob; > struct ttm_device *bdev; > - int ret = -EBUSY; > + int ret = 0; > > mutex_lock(&ttm_global_mutex); > list_for_each_entry(bdev, &glob->device_list, device_list) { > diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c > index 48c407cff112..539e0232cb3b 100644 > --- a/drivers/gpu/drm/ttm/ttm_tt.c > +++ b/drivers/gpu/drm/ttm/ttm_tt.c > @@ -329,6 +329,8 @@ int ttm_tt_populate(struct ttm_device *bdev, > ttm_dma32_pages_limit) { > > ret = ttm_global_swapout(ctx, GFP_KERNEL); > + if (ret == 0) > + break; > if (ret < 0) > goto error; > } > -- > 2.17.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
[AMD Official Use Only - Internal Distribution Only] Alright, Thanks again! --Brs, Morris Zhang MLSE Linux ML SRDC Ext. 25147 -----Original Message----- From: Koenig, Christian <Christian.Koenig@amd.com> Sent: Thursday, April 22, 2021 5:22 PM To: Zhang, Morris <Shiwu.Zhang@amd.com>; dri-devel@lists.freedesktop.org Subject: Re: [PATCH v2] drm/ttm: fix error handling if no BO can be swapped out Am 22.04.21 um 10:37 schrieb Shiwu Zhang: > Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> > --- > drivers/gpu/drm/ttm/ttm_device.c | 2 +- > drivers/gpu/drm/ttm/ttm_tt.c | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_device.c > b/drivers/gpu/drm/ttm/ttm_device.c > index 1f2024164d72..5dc92b056f0a 100644 > --- a/drivers/gpu/drm/ttm/ttm_device.c > +++ b/drivers/gpu/drm/ttm/ttm_device.c > @@ -112,7 +112,7 @@ int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags) > { > struct ttm_global *glob = &ttm_glob; > struct ttm_device *bdev; > - int ret = -EBUSY; > + int ret = 0; Please don't initialize the return value if we don't need that. Apart from that looks good to me now. Thanks, Christian. > > mutex_lock(&ttm_global_mutex); > list_for_each_entry(bdev, &glob->device_list, device_list) { diff > --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c > index 48c407cff112..539e0232cb3b 100644 > --- a/drivers/gpu/drm/ttm/ttm_tt.c > +++ b/drivers/gpu/drm/ttm/ttm_tt.c > @@ -329,6 +329,8 @@ int ttm_tt_populate(struct ttm_device *bdev, > ttm_dma32_pages_limit) { > > ret = ttm_global_swapout(ctx, GFP_KERNEL); > + if (ret == 0) > + break; > if (ret < 0) > goto error; > }
Am 22.04.21 um 11:52 schrieb Daniel Vetter: > On Thu, Apr 22, 2021 at 04:37:49PM +0800, Shiwu Zhang wrote: >> Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> > Cc: stable@vger.kernel.org or at least Fixes: tag? The code in question is only in drm-misc-next currently and won't go upstream before 5.14. > Zero length commit message for something that claims to be a bugfix is > probably too short :-) Well that is indeed a good point :) Christian. > -Daniel > >> --- >> drivers/gpu/drm/ttm/ttm_device.c | 2 +- >> drivers/gpu/drm/ttm/ttm_tt.c | 2 ++ >> 2 files changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c >> index 1f2024164d72..5dc92b056f0a 100644 >> --- a/drivers/gpu/drm/ttm/ttm_device.c >> +++ b/drivers/gpu/drm/ttm/ttm_device.c >> @@ -112,7 +112,7 @@ int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags) >> { >> struct ttm_global *glob = &ttm_glob; >> struct ttm_device *bdev; >> - int ret = -EBUSY; >> + int ret = 0; >> >> mutex_lock(&ttm_global_mutex); >> list_for_each_entry(bdev, &glob->device_list, device_list) { >> diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c >> index 48c407cff112..539e0232cb3b 100644 >> --- a/drivers/gpu/drm/ttm/ttm_tt.c >> +++ b/drivers/gpu/drm/ttm/ttm_tt.c >> @@ -329,6 +329,8 @@ int ttm_tt_populate(struct ttm_device *bdev, >> ttm_dma32_pages_limit) { >> >> ret = ttm_global_swapout(ctx, GFP_KERNEL); >> + if (ret == 0) >> + break; >> if (ret < 0) >> goto error; >> } >> -- >> 2.17.1 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fdri-devel&data=04%7C01%7Cchristian.koenig%40amd.com%7C61e953fa35114f9d69b508d905744ac9%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637546819302622693%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=kYfLVPAIa%2FalK8g4xyI9pV7LcIH5Y7VRApNPdUtei5c%3D&reserved=0
diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c index 1f2024164d72..5dc92b056f0a 100644 --- a/drivers/gpu/drm/ttm/ttm_device.c +++ b/drivers/gpu/drm/ttm/ttm_device.c @@ -112,7 +112,7 @@ int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags) { struct ttm_global *glob = &ttm_glob; struct ttm_device *bdev; - int ret = -EBUSY; + int ret = 0; mutex_lock(&ttm_global_mutex); list_for_each_entry(bdev, &glob->device_list, device_list) { diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index 48c407cff112..539e0232cb3b 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c @@ -329,6 +329,8 @@ int ttm_tt_populate(struct ttm_device *bdev, ttm_dma32_pages_limit) { ret = ttm_global_swapout(ctx, GFP_KERNEL); + if (ret == 0) + break; if (ret < 0) goto error; }
Signed-off-by: Shiwu Zhang <shiwu.zhang@amd.com> --- drivers/gpu/drm/ttm/ttm_device.c | 2 +- drivers/gpu/drm/ttm/ttm_tt.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)