* [PATCH] Revert "workqueue: remove unused cancel_work()" @ 2022-05-19 13:56 Andrey Grodzovsky 2022-05-19 14:52 ` Lai Jiangshan 0 siblings, 1 reply; 9+ messages in thread From: Andrey Grodzovsky @ 2022-05-19 13:56 UTC (permalink / raw) To: tj, jiangshanlai, linux-kernel Cc: amd-gfx, Christian.Koenig, Andrey Grodzovsky This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f and exports the function. We need this funtion in amdgpu driver to fix a bug. Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> --- include/linux/workqueue.h | 1 + kernel/workqueue.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 7fee9b6cfede..9e41e1226193 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -453,6 +453,7 @@ extern int schedule_on_each_cpu(work_func_t func); int execute_in_process_context(work_func_t fn, struct execute_work *); extern bool flush_work(struct work_struct *work); +extern bool cancel_work(struct work_struct *work); extern bool cancel_work_sync(struct work_struct *work); extern bool flush_delayed_work(struct delayed_work *dwork); diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 613917bbc4e7..f94b596ebffd 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3267,6 +3267,15 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) return ret; } +/* + * See cancel_delayed_work() + */ +bool cancel_work(struct work_struct *work) +{ + return __cancel_work(work, false); +} +EXPORT_SYMBOL(cancel_work); + /** * cancel_delayed_work - cancel a delayed work * @dwork: delayed_work to cancel -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-05-19 13:56 [PATCH] Revert "workqueue: remove unused cancel_work()" Andrey Grodzovsky @ 2022-05-19 14:52 ` Lai Jiangshan [not found] ` <e1e2e63d-a1a9-12ad-97a7-a3771210edda@amd.com> 0 siblings, 1 reply; 9+ messages in thread From: Lai Jiangshan @ 2022-05-19 14:52 UTC (permalink / raw) To: Andrey Grodzovsky; +Cc: Tejun Heo, LKML, amd-gfx, Christian.Koenig On Thu, May 19, 2022 at 9:57 PM Andrey Grodzovsky <andrey.grodzovsky@amd.com> wrote: > > This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f > and exports the function. > > We need this funtion in amdgpu driver to fix a bug. Hello, Could you specify the reason why it is needed in amdgpu driver rather than "fix a bug", please. And there is a typo: "funtion". And please avoid using "we" in the changelog. For example, the sentence can be changed to: The amdgpu driver needs this function to cancel a work item in blabla context/situation or for blabla reason. (I'm not good at Engish, this is just an example of not using "we". No need to use the sentence.) Thanks Lai > > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > --- > include/linux/workqueue.h | 1 + > kernel/workqueue.c | 9 +++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h > index 7fee9b6cfede..9e41e1226193 100644 > --- a/include/linux/workqueue.h > +++ b/include/linux/workqueue.h > @@ -453,6 +453,7 @@ extern int schedule_on_each_cpu(work_func_t func); > int execute_in_process_context(work_func_t fn, struct execute_work *); > > extern bool flush_work(struct work_struct *work); > +extern bool cancel_work(struct work_struct *work); > extern bool cancel_work_sync(struct work_struct *work); > > extern bool flush_delayed_work(struct delayed_work *dwork); > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index 613917bbc4e7..f94b596ebffd 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -3267,6 +3267,15 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) > return ret; > } > > +/* > + * See cancel_delayed_work() > + */ > +bool cancel_work(struct work_struct *work) > +{ > + return __cancel_work(work, false); > +} > +EXPORT_SYMBOL(cancel_work); > + > /** > * cancel_delayed_work - cancel a delayed work > * @dwork: delayed_work to cancel > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <e1e2e63d-a1a9-12ad-97a7-a3771210edda@amd.com>]
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" [not found] ` <e1e2e63d-a1a9-12ad-97a7-a3771210edda@amd.com> @ 2022-05-20 0:47 ` Lai Jiangshan 2022-05-20 6:22 ` Christian König 0 siblings, 1 reply; 9+ messages in thread From: Lai Jiangshan @ 2022-05-20 0:47 UTC (permalink / raw) To: Andrey Grodzovsky; +Cc: Tejun Heo, LKML, amd-gfx, Christian.Koenig On Thu, May 19, 2022 at 11:04 PM Andrey Grodzovsky <andrey.grodzovsky@amd.com> wrote: > > See this patch-set https://www.spinics.net/lists/amd-gfx/msg78514.html, specifically patch > 'drm/amdgpu: Switch to delayed work from work_struct. > > I will just reiterate here - > > We need to be able to do non blocking cancel pending reset works > from within GPU reset. Currently kernel API allows this only > for delayed_work and not for work_struct. > I'm OK with the change. With an updated changelog: Reviewed-by: Lai Jiangshan<jiangshanlai@gmail.com> Thanks Lai ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-05-20 0:47 ` Lai Jiangshan @ 2022-05-20 6:22 ` Christian König 2022-05-20 7:52 ` Tejun Heo 0 siblings, 1 reply; 9+ messages in thread From: Christian König @ 2022-05-20 6:22 UTC (permalink / raw) To: Lai Jiangshan, Andrey Grodzovsky Cc: Tejun Heo, LKML, amd-gfx, Christian.Koenig Am 20.05.22 um 02:47 schrieb Lai Jiangshan: > On Thu, May 19, 2022 at 11:04 PM Andrey Grodzovsky > <andrey.grodzovsky@amd.com> wrote: >> See this patch-set https://www.spinics.net/lists/amd-gfx/msg78514.html, specifically patch >> 'drm/amdgpu: Switch to delayed work from work_struct. >> >> I will just reiterate here - >> >> We need to be able to do non blocking cancel pending reset works >> from within GPU reset. Currently kernel API allows this only >> for delayed_work and not for work_struct. >> > I'm OK with the change. > > With an updated changelog: > > Reviewed-by: Lai Jiangshan<jiangshanlai@gmail.com> Good morning guys, for the patch itself Reviewed-by: Christian König <christian.koenig@amd.com> And just for the record: We plan to push this upstream through the drm branches, if anybody has any objections to that please speak up. Thanks, Christian. > > > Thanks > Lai ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-05-20 6:22 ` Christian König @ 2022-05-20 7:52 ` Tejun Heo 2022-05-21 4:04 ` Andrey Grodzovsky 0 siblings, 1 reply; 9+ messages in thread From: Tejun Heo @ 2022-05-20 7:52 UTC (permalink / raw) To: Christian König Cc: Lai Jiangshan, Andrey Grodzovsky, LKML, amd-gfx, Christian.Koenig On Fri, May 20, 2022 at 08:22:39AM +0200, Christian König wrote: > Am 20.05.22 um 02:47 schrieb Lai Jiangshan: > > On Thu, May 19, 2022 at 11:04 PM Andrey Grodzovsky > > <andrey.grodzovsky@amd.com> wrote: > > > See this patch-set https://www.spinics.net/lists/amd-gfx/msg78514.html, specifically patch > > > 'drm/amdgpu: Switch to delayed work from work_struct. > > > > > > I will just reiterate here - > > > > > > We need to be able to do non blocking cancel pending reset works > > > from within GPU reset. Currently kernel API allows this only > > > for delayed_work and not for work_struct. > > > > > I'm OK with the change. > > > > With an updated changelog: > > > > Reviewed-by: Lai Jiangshan<jiangshanlai@gmail.com> > > Good morning guys, > > for the patch itself Reviewed-by: Christian König <christian.koenig@amd.com> > > And just for the record: We plan to push this upstream through the drm > branches, if anybody has any objections to that please speak up. Andrey, care to resend with updated description? Thanks. -- tejun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-05-20 7:52 ` Tejun Heo @ 2022-05-21 4:04 ` Andrey Grodzovsky 2022-06-07 17:14 ` Tejun Heo 0 siblings, 1 reply; 9+ messages in thread From: Andrey Grodzovsky @ 2022-05-21 4:04 UTC (permalink / raw) To: Tejun Heo, Christian König Cc: Lai Jiangshan, LKML, amd-gfx, Christian.Koenig [-- Attachment #1: Type: text/plain, Size: 1553 bytes --] On 2022-05-20 03:52, Tejun Heo wrote: > On Fri, May 20, 2022 at 08:22:39AM +0200, Christian König wrote: >> Am 20.05.22 um 02:47 schrieb Lai Jiangshan: >>> On Thu, May 19, 2022 at 11:04 PM Andrey Grodzovsky >>> <andrey.grodzovsky@amd.com> wrote: >>>> See this patch-set https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.spinics.net%2Flists%2Famd-gfx%2Fmsg78514.html&data=05%7C01%7Candrey.grodzovsky%40amd.com%7Cb25896b7e8b14e605a8d08da3a35a7c7%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637886299388464620%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TRabWQQrhy6nwkLfuXI4A%2FOcF9f%2FtFKdxIRfGc8Das4%3D&reserved=0, specifically patch >>>> 'drm/amdgpu: Switch to delayed work from work_struct. >>>> >>>> I will just reiterate here - >>>> >>>> We need to be able to do non blocking cancel pending reset works >>>> from within GPU reset. Currently kernel API allows this only >>>> for delayed_work and not for work_struct. >>>> >>> I'm OK with the change. >>> >>> With an updated changelog: >>> >>> Reviewed-by: Lai Jiangshan<jiangshanlai@gmail.com> >> >> Good morning guys, >> >> for the patch itself Reviewed-by: Christian König <christian.koenig@amd.com> >> >> And just for the record: We plan to push this upstream through the drm >> branches, if anybody has any objections to that please speak up. > > Andrey, care to resend with updated description? > > Thanks > Just adding here as attachment since only description changed changed. Andrey [-- Attachment #2: 0001-Revert-workqueue-remove-unused-cancel_work.patch --] [-- Type: text/x-patch, Size: 1625 bytes --] From 78df30cc97f10c885f5159a293e6afe2348aa60c Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Date: Thu, 19 May 2022 09:47:28 -0400 Subject: Revert "workqueue: remove unused cancel_work()" This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f. amdpgu need this function in order to prematurly stop pending reset works when another reset work already in progress. Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> --- include/linux/workqueue.h | 1 + kernel/workqueue.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 7fee9b6cfede..9e41e1226193 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -453,6 +453,7 @@ extern int schedule_on_each_cpu(work_func_t func); int execute_in_process_context(work_func_t fn, struct execute_work *); extern bool flush_work(struct work_struct *work); +extern bool cancel_work(struct work_struct *work); extern bool cancel_work_sync(struct work_struct *work); extern bool flush_delayed_work(struct delayed_work *dwork); diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 613917bbc4e7..f94b596ebffd 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3267,6 +3267,15 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) return ret; } +/* + * See cancel_delayed_work() + */ +bool cancel_work(struct work_struct *work) +{ + return __cancel_work(work, false); +} +EXPORT_SYMBOL(cancel_work); + /** * cancel_delayed_work - cancel a delayed work * @dwork: delayed_work to cancel -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-05-21 4:04 ` Andrey Grodzovsky @ 2022-06-07 17:14 ` Tejun Heo 2022-06-07 17:39 ` Alex Deucher 0 siblings, 1 reply; 9+ messages in thread From: Tejun Heo @ 2022-06-07 17:14 UTC (permalink / raw) To: Andrey Grodzovsky Cc: Christian König, Lai Jiangshan, LKML, amd-gfx, Christian.Koenig On Sat, May 21, 2022 at 12:04:00AM -0400, Andrey Grodzovsky wrote: > From 78df30cc97f10c885f5159a293e6afe2348aa60c Mon Sep 17 00:00:00 2001 > From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > Date: Thu, 19 May 2022 09:47:28 -0400 > Subject: Revert "workqueue: remove unused cancel_work()" > > This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f. > > amdpgu need this function in order to prematurly stop pending > reset works when another reset work already in progress. > > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Applied to wq/for-5.19-fixes. Thanks. -- tejun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-06-07 17:14 ` Tejun Heo @ 2022-06-07 17:39 ` Alex Deucher 2022-06-07 19:25 ` Tejun Heo 0 siblings, 1 reply; 9+ messages in thread From: Alex Deucher @ 2022-06-07 17:39 UTC (permalink / raw) To: Tejun Heo Cc: Andrey Grodzovsky, Christian König, Lai Jiangshan, LKML, amd-gfx list, Christian Koenig On Tue, Jun 7, 2022 at 1:14 PM Tejun Heo <tj@kernel.org> wrote: > > On Sat, May 21, 2022 at 12:04:00AM -0400, Andrey Grodzovsky wrote: > > From 78df30cc97f10c885f5159a293e6afe2348aa60c Mon Sep 17 00:00:00 2001 > > From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > > Date: Thu, 19 May 2022 09:47:28 -0400 > > Subject: Revert "workqueue: remove unused cancel_work()" > > > > This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f. > > > > amdpgu need this function in order to prematurly stop pending > > reset works when another reset work already in progress. > > > > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > > Applied to wq/for-5.19-fixes. Could we take it through the drm tree so we can include it with Andrey's patches that depend on it? Alex > > Thanks. > > -- > tejun ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Revert "workqueue: remove unused cancel_work()" 2022-06-07 17:39 ` Alex Deucher @ 2022-06-07 19:25 ` Tejun Heo 0 siblings, 0 replies; 9+ messages in thread From: Tejun Heo @ 2022-06-07 19:25 UTC (permalink / raw) To: Alex Deucher Cc: Andrey Grodzovsky, Christian König, Lai Jiangshan, LKML, amd-gfx list, Christian Koenig On Tue, Jun 07, 2022 at 01:39:01PM -0400, Alex Deucher wrote: > On Tue, Jun 7, 2022 at 1:14 PM Tejun Heo <tj@kernel.org> wrote: > > > > On Sat, May 21, 2022 at 12:04:00AM -0400, Andrey Grodzovsky wrote: > > > From 78df30cc97f10c885f5159a293e6afe2348aa60c Mon Sep 17 00:00:00 2001 > > > From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > > > Date: Thu, 19 May 2022 09:47:28 -0400 > > > Subject: Revert "workqueue: remove unused cancel_work()" > > > > > > This reverts commit 6417250d3f894e66a68ba1cd93676143f2376a6f. > > > > > > amdpgu need this function in order to prematurly stop pending > > > reset works when another reset work already in progress. > > > > > > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > > > > Applied to wq/for-5.19-fixes. > > Could we take it through the drm tree so we can include it with > Andrey's patches that depend on it? Oh sure, please go ahead. Imma revert from my tree. Acked-by: Tejun Heo <tj@kernel.org> Thanks. -- tejun ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-06-08 0:23 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-19 13:56 [PATCH] Revert "workqueue: remove unused cancel_work()" Andrey Grodzovsky
2022-05-19 14:52 ` Lai Jiangshan
[not found] ` <e1e2e63d-a1a9-12ad-97a7-a3771210edda@amd.com>
2022-05-20 0:47 ` Lai Jiangshan
2022-05-20 6:22 ` Christian König
2022-05-20 7:52 ` Tejun Heo
2022-05-21 4:04 ` Andrey Grodzovsky
2022-06-07 17:14 ` Tejun Heo
2022-06-07 17:39 ` Alex Deucher
2022-06-07 19:25 ` Tejun Heo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox