Re: [PATCH v6 1/2] io_uring: avoid whole io_wq_work copy for requests completed inline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/06/2020 14:39, Xiaoguang Wang wrote:
>> On 6/9/20 10:44 AM, Pavel Begunkov wrote:
>>> On 09/06/2020 11:25, Xiaoguang Wang wrote:
>>>> If requests can be submitted and completed inline, we don't need to
>>>> initialize whole io_wq_work in io_init_req(), which is an expensive
>>>> operation, add a new 'REQ_F_WORK_INITIALIZED' to control whether
>>>> io_wq_work is initialized.
>>>
>>> Basically it's "call io_req_init_async() before touching ->work" now.
>>> This shouldn't be as easy to screw as was with ->func.
>>>
>>> The only thing left that I don't like _too_ much to stop complaining
>>> is ->creds handling. But this one should be easy, see incremental diff
>>> below (not tested). If custom creds are provided, it initialises
>>> req->work in req_init() and sets work.creds. And then we can remove
>>> req->creds.
>>>
>>> What do you think? Custom ->creds (aka personality) is a niche feature,
>>> and the speedup is not so great to care.
>>
>> Thanks for reviewing, I agree. Xiaoguang, care to fold in that change
>> and then I think we're good to shove this in.
> Yeah, I'll send new version soon.
> Pavel, thanks for your great work, and really appreciate both of you and jens' patience.

You're welcome. It lead us to rethinking and cleaning some parts, that's
great! And there are more such places, it's definitely worth to look into.

-- 
Pavel Begunkov



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux