Re: [PATCH] drm/amd/display: avoid sleeping in atomic context while creating new state (V2)

2018-05-31 Thread Harry Wentland
On 2018-05-31 05:59 AM, Shirish S wrote:
> This patch fixes the warning messages that are caused due to calling
> sleep in atomic context as below:
> 
> BUG: sleeping function called from invalid context at mm/slab.h:419
> in_atomic(): 1, irqs_disabled(): 1, pid: 5, name: kworker/u4:0
> CPU: 1 PID: 5 Comm: kworker/u4:0 Tainted: GW   4.14.35 #941
> Workqueue: events_unbound commit_work
> Call Trace:
>  dump_stack+0x4d/0x63
>  ___might_sleep+0x11f/0x12e
>  kmem_cache_alloc_trace+0x41/0xea
>  dc_create_state+0x1f/0x30
>  dc_commit_updates_for_stream+0x73/0x4cf
>  ? amdgpu_get_crtc_scanoutpos+0x82/0x16b
>  amdgpu_dm_do_flip+0x239/0x298
>  amdgpu_dm_commit_planes.isra.23+0x379/0x54b
>  ? dc_commit_state+0x3da/0x404
>  amdgpu_dm_atomic_commit_tail+0x4fc/0x5d2
>  ? wait_for_common+0x5b/0x69
>  commit_tail+0x42/0x64
>  process_one_work+0x1b0/0x314
>  worker_thread+0x1cb/0x2c1
>  ? create_worker+0x1da/0x1da
>  kthread+0x156/0x15e
>  ? kthread_flush_work+0xea/0xea
>  ret_from_fork+0x22/0x40
> 
> V2: fix applicable only to dc_create_state() and not dc_create().
> 
> Signed-off-by: Shirish S 

Reviewed-by: Harry Wentland 

Harry

> ---
>  drivers/gpu/drm/amd/display/dc/core/dc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
> b/drivers/gpu/drm/amd/display/dc/core/dc.c
> index c88f661..839e3f6 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
> @@ -953,7 +953,7 @@ bool dc_post_update_surfaces_to_stream(struct dc *dc)
>  struct dc_state *dc_create_state(void)
>  {
>   struct dc_state *context = kzalloc(sizeof(struct dc_state),
> -GFP_KERNEL);
> +GFP_ATOMIC);
>  
>   if (!context)
>   return NULL;
> 
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amd/display: avoid sleeping in atomic context while creating new state (V2)

2018-05-31 Thread Deucher, Alexander
All of the V2 patches are:

Reviewed-by: Alex Deucher 


From: amd-gfx  on behalf of Shirish S 

Sent: Thursday, May 31, 2018 5:59:24 AM
To: amd-gfx@lists.freedesktop.org; Wentland, Harry
Cc: S, Shirish
Subject: [PATCH] drm/amd/display: avoid sleeping in atomic context while 
creating new state (V2)

This patch fixes the warning messages that are caused due to calling
sleep in atomic context as below:

BUG: sleeping function called from invalid context at mm/slab.h:419
in_atomic(): 1, irqs_disabled(): 1, pid: 5, name: kworker/u4:0
CPU: 1 PID: 5 Comm: kworker/u4:0 Tainted: GW   4.14.35 #941
Workqueue: events_unbound commit_work
Call Trace:
 dump_stack+0x4d/0x63
 ___might_sleep+0x11f/0x12e
 kmem_cache_alloc_trace+0x41/0xea
 dc_create_state+0x1f/0x30
 dc_commit_updates_for_stream+0x73/0x4cf
 ? amdgpu_get_crtc_scanoutpos+0x82/0x16b
 amdgpu_dm_do_flip+0x239/0x298
 amdgpu_dm_commit_planes.isra.23+0x379/0x54b
 ? dc_commit_state+0x3da/0x404
 amdgpu_dm_atomic_commit_tail+0x4fc/0x5d2
 ? wait_for_common+0x5b/0x69
 commit_tail+0x42/0x64
 process_one_work+0x1b0/0x314
 worker_thread+0x1cb/0x2c1
 ? create_worker+0x1da/0x1da
 kthread+0x156/0x15e
 ? kthread_flush_work+0xea/0xea
 ret_from_fork+0x22/0x40

V2: fix applicable only to dc_create_state() and not dc_create().

Signed-off-by: Shirish S 
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index c88f661..839e3f6 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -953,7 +953,7 @@ bool dc_post_update_surfaces_to_stream(struct dc *dc)
 struct dc_state *dc_create_state(void)
 {
 struct dc_state *context = kzalloc(sizeof(struct dc_state),
-  GFP_KERNEL);
+  GFP_ATOMIC);

 if (!context)
 return NULL;
--
2.7.4

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx