[PATCH 0/6] staging: kpc2000_dma: fixes for AIO file-ops.

Jeremy Sowden 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.

J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20190612/e4fc945c/attachment-0001.asc>


More information about the devel mailing list