[PATCH 0/6] staging: kpc2000_dma: fixes for AIO file-ops.
jeremy at azazel.net
Wed Jun 12 07:43:35 UTC 2019
On 2019-06-11, at 23:43:19 +0000, Matt Sickler wrote:
> >-----Original Message-----
> > From: Jeremy Sowden <jeremy at azazel.net>
> > I've had a go at getting the DMA AIO working. It compiles, but I
> > don't have access to the hardware, so I have done no more testing
> > than that.
> Honestly, it'd probably be better to just remove the AIO support
> entirely. The one use case we had that could possibly have benefitted
> from AIO has been switched away from DMA entirely. We switched
> because the DMA buffer was a couple hundred bytes and the overhead of
> setting up the DMA was killing throughput. AIO *might* have been able
> to help there, but the userspace side of AIO is a PITA to work with.
> IMO, if "AIO" for the kpc_dma driver were to make a come back, I think
> it would be better to use something like io_uring The other things
> that use DMA wouldn't benefit from AIO as they have to setup other
> parts of the hardware that can't coordinate with the DMA controllers
> (or at least not without a lot of work).
> TL;DR: it's probably better to just kill the AIO parts of the driver
> than to try to make them work.
> >The fifth patch removes the cancel call-back because it is empty and
> >so doesn't serve any purpose (AFAICS). However, it doesn't appear to
> >be too tricky to implement something that would abort the transfer in
> >the same manner that kpc_dma_close() if this would be useful.
> It's empty because I didn't have time to figure out how to cancel the
> DMA operation on the hardware side. Doing the same "reset the whole
> engine" type of cancel could work, but I'm not sure how well that
> would mesh with aio_cancel (the latter would kill *all* in-flight
> operations, the former is only killing the one). As I said above,
> it's probably better to just remove all the AIO pieces.
Righto. I'll take them out.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the devel