[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87y21b5kk6.ffs@tglx>
Date: Tue, 15 Mar 2022 15:58:49 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Christoph Hellwig <hch@....de>, axboe@...nel.dk
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] task_work: simplify the task_work_add() interface
On Wed, Feb 23 2022 at 08:27, Christoph Hellwig wrote:
> Provide a low-level task_work_add_nonotify interface that just adds
> the work to the list and open code the TWA_SIGNAL and TWA_NONE callers
> using it. task_work_add() itself now only handles the common TWA_RESUME
> case and can drop the notify argument.
There is a distinct lack of justification in that change log.
> worker->create_index = acct->index;
> - if (!task_work_add(wq->task, &worker->create_work, TWA_SIGNAL)) {
> + if (!task_work_add_nonotify(wq->task, &worker->create_work)) {
> + set_notify_signal(wq->task);
I fail to see the improvement here.
> @@ -9606,7 +9606,7 @@ static __cold void io_ring_exit_work(struct work_struct *work)
> ctx_node);
> /* don't spin on a single task if cancellation failed */
> list_rotate_left(&ctx->tctx_list);
> - ret = task_work_add(node->task, &exit.task_work, TWA_SIGNAL);
> + ret = task_work_add_nonotify(node->task, &exit.task_work);
While I clearly see the regression in this case ...
> if (WARN_ON_ONCE(ret))
> continue;
> /**
> - * task_work_add - ask the @task to execute @work->func()
> + * task_work_add_nonotify - ask the @task to execute @work->func()
> * @task: the task which should run the callback
> * @work: the callback to run
> * @notify: how to notify the targeted task
This parameter is removed below ...
Thanks,
tglx
Powered by blists - more mailing lists