On 2024-11-05 20:35, Yuan Can wrote: > In kfd_procfs_show(), the sdma_activity_work_handler is a local variable > and the sdma_activity_work_handler.sdma_activity_work should initialize > with INIT_WORK_ONSTACK() instead of INIT_WORK(). > > Fixes: 32cb59f31362 ("drm/amdkfd: Track SDMA utilization per process") > Signed-off-by: Yuan Can <yuan...@huawei.com>
Thank you. The patch is Reviewed-by: Felix Kuehling <felix.kuehl...@amd.com> I am submitting it to amd-staging-drm-next. Regards, Felix > --- > drivers/gpu/drm/amd/amdkfd/kfd_process.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c > b/drivers/gpu/drm/amd/amdkfd/kfd_process.c > index d4aa843aacfd..2792015f1054 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c > @@ -338,8 +338,8 @@ static ssize_t kfd_procfs_show(struct kobject *kobj, > struct attribute *attr, > attr_sdma); > struct kfd_sdma_activity_handler_workarea > sdma_activity_work_handler; > > - INIT_WORK(&sdma_activity_work_handler.sdma_activity_work, > - kfd_sdma_activity_worker); > + > INIT_WORK_ONSTACK(&sdma_activity_work_handler.sdma_activity_work, > + kfd_sdma_activity_worker); > > sdma_activity_work_handler.pdd = pdd; > sdma_activity_work_handler.sdma_activity_counter = 0; > @@ -347,6 +347,7 @@ static ssize_t kfd_procfs_show(struct kobject *kobj, > struct attribute *attr, > schedule_work(&sdma_activity_work_handler.sdma_activity_work); > > flush_work(&sdma_activity_work_handler.sdma_activity_work); > + > destroy_work_on_stack(&sdma_activity_work_handler.sdma_activity_work); > > return snprintf(buffer, PAGE_SIZE, "%llu\n", > > (sdma_activity_work_handler.sdma_activity_counter)/