Re: [ISSUE] The time cost of IOSQE_IO_LINK

Jens Axboe
2020-02-18T16:52:24Z

On 2/18/20 9:46 AM, Jens Axboe wrote:
> On 2/18/20 6:13 AM, Peter Zijlstra wrote:
>> Jens, I think you want something like this on top of what you have,
>> mostly it is adding sched_work_run() to exit_task_work().
>
> It also makes it a bit cleaner, I don't like the implied task == current
> we have in a bunch of spots. Folded this in (thanks!) with minor edit:
>
>> @@ -157,10 +157,10 @@ static void __task_work_run(struct task_struct *task,
>> */
>> void task_work_run(void)
>> {
>> - __task_work_run(current, &current->task_works);
>> + __task_work_run(&current->task_works);
>> }
>>
>> -void sched_work_run(struct task_struct *task)
>> +void sched_work_run()
>> {
>> - __task_work_run(task, &task->sched_work);
>> + __task_work_run(&task->sched_work);
>> }
>
> s/task/current for this last one.

Current series, same spot:

https://git.kernel.dk/cgit/linux-block/log/?h=io_uring-task-poll

I added Oleg's patch first in the series, then rebased on top and folded
in the incremental from you. Will run some testing now, otherwise only
sporadically available today and tomorrow. Unless something major comes
up, I'll send this out for review tomorrow afternoon local time.

--
Jens Axboe