Thread (61 messages) 61 messages, 8 authors, 2020-07-21

Re: [PATCH v3 4/4] io_uring: add support for zone-append

From: Kanchan Joshi <hidden>
Date: 2020-07-10 13:58:37
Also in: io-uring, linux-fsdevel, lkml

On Fri, Jul 10, 2020 at 6:59 PM Kanchan Joshi [off-list ref] wrote:
On Fri, Jul 10, 2020 at 6:39 PM Christoph Hellwig [off-list ref] wrote:
quoted
On Thu, Jul 09, 2020 at 12:50:27PM -0600, Jens Axboe wrote:
quoted
It might, if you have IRQ context for the completion. task_work isn't
expensive, however. It's not like a thread offload.
Not sure about polled-completion but we have IRQ context for regular completion.
If I've got it right, I need to store task_struct during submission,
and use that to register a task_work during completion. At some point
when this task_work gets called it will update the user-space pointer
with the result.
It can be the case that we get N completions parallely, but they all
would get serialized because all N task-works need to be executed in
the context of single task/process?
quoted
quoted
quoted
Using flags have not been liked here, but given the upheaval involved so
far I have begun to feel - it was keeping things simple. Should it be
reconsidered?
It's definitely worth considering, especially since we can use cflags
like Pavel suggested upfront and not need any extra storage. But it
brings us back to the 32-bit vs 64-bit discussion, and then using blocks
instead of bytes. Which isn't exactly super pretty.
block doesn't work for the case of writes to files that don't have
to be aligned in any way.  And that I think is the more broadly
applicable use case than zone append on block devices.
But when can it happen that we do zone-append on a file (zonefs I
asssume), and device returns a location (write-pointer essentially)
which is not in multiple of 512b?


--
Joshi


-- 
Joshi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help