[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <19a08aaa-069b-27d1-1cb7-5033b74c2e78@gmail.com>
Date: Mon, 2 Mar 2020 18:26:01 +0300
From: Pavel Begunkov <asml.silence@...il.com>
To: Jens Axboe <axboe@...nel.dk>, io-uring@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 9/9] io_uring: pass submission ref to async
On 3/2/2020 6:12 PM, Jens Axboe wrote:
> On 3/2/20 8:08 AM, Pavel Begunkov wrote:
>> On 3/2/2020 12:39 AM, Pavel Begunkov wrote:
>>> On 01/03/2020 19:18, Pavel Begunkov wrote:
>>>> Currenlty, every async work handler accepts a submission reference,
>>>> which it should put. Also there is a reference grabbed in io_get_work()
>>>> and dropped in io_put_work(). This patch merge them together.
>>>>
>>>> - So, ownership of the submission reference passed to io-wq, and it'll
>>>> be put in io_put_work().
>>>> - io_get_put() doesn't take a ref now and so deleted.
>>>> - async handlers don't put the submission ref anymore.
>>>> - make cancellation bits of io-wq to call {get,put}_work() handlers
>>>
>>> Hmm, it makes them more like {init,fini}_work() and unbalanced/unpaired. May be
>>> no a desirable thing.
>>
>> Any objections against replacing {get,put}_work() with
>> io_finilise_work()? It will be called once and only once, and a work
>> must not go away until it happened. It will be enough for now, but not
>> sure whether you have some plans for this get/put pinning.
>
> I have no further plans there, the get/put work only exist to ensure that
> the work item stays valid in case of cancelation lookups.
Great, it'll go into v2 as well.
--
Pavel Begunkov
Powered by blists - more mailing lists