[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+1E3r+6TVr8SYtOJpDyDu9=LZQpr4qaNiYno6ErMoSBh-eBkA@mail.gmail.com>
Date: Fri, 10 Jul 2020 19:27:38 +0530
From: Kanchan Joshi <joshiiitr@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jens Axboe <axboe@...nel.dk>, Kanchan Joshi <joshi.k@...sung.com>,
viro@...iv.linux.org.uk, bcrl@...ck.org, Damien.LeMoal@....com,
asml.silence@...il.com, linux-fsdevel@...r.kernel.org,
"Matias Bj??rling" <mb@...htnvm.io>, linux-kernel@...r.kernel.org,
linux-aio@...ck.org, io-uring@...r.kernel.org,
linux-block@...r.kernel.org,
Selvakumar S <selvakuma.s1@...sung.com>,
Nitesh Shetty <nj.shetty@...sung.com>,
Javier Gonzalez <javier.gonz@...sung.com>
Subject: Re: [PATCH v3 4/4] io_uring: add support for zone-append
On Fri, Jul 10, 2020 at 6:59 PM Kanchan Joshi <joshiiitr@...il.com> wrote:
>
> On Fri, Jul 10, 2020 at 6:39 PM Christoph Hellwig <hch@...radead.org> wrote:
> >
> > On Thu, Jul 09, 2020 at 12:50:27PM -0600, Jens Axboe wrote:
> > > 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?
> > > > 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
Powered by blists - more mailing lists