Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1447753

Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion

From Russell King - ARM Linux <linux@armlinux.org.uk>
Newsgroups linux.kernel
Subject Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion
Date 2016-07-21 11:50 +0200
Message-ID <rXiMa-5GH-23@gated-at.bofh.it> (permalink)
References (1 earlier) <rUOfw-1kh-11@gated-at.bofh.it> <rWe7U-4ZV-17@gated-at.bofh.it> <rWCtA-40N-27@gated-at.bofh.it> <rWTb4-6fy-5@gated-at.bofh.it> <rXiCu-5Cf-29@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Jul 21, 2016 at 12:33:12PM +0300, Peter Ujfalusi wrote:
> On 07/20/16 09:26, Robert Jarzmik wrote:
> > Speaking of which, from a purely design point of view, as long as you think
> > beforehand what is your sequence, ie. what is the sequence of your link
> > chaining, completion handling, etc ..., both marking before or after next tx
> > start should be fine IMHO.
> 
> Yes, it might be a bit better from performance point of view if we first start
> the pending descriptor (if there is one) then do the vchan_cookie_complete().
> On the other hand if we care more about latency and accuracy we should
> complete the transfer first then look for pending descriptors. But since
> virt_dma is using a tasklet for the real completion, the latency is always
> going to be when the tasklet is given the chance to execute.

I think this shows a slight misunderstanding of the DMA engine API.  The
DMA completion is defined by the API to always happen in tasklet context,
which is why the virt-dma stuff does it that way - and all other DMA
engine drivers.  It's one of the fundamentals of the API.

As it happens in tasklet context, tasklets can be scheduled to run with
variable latency, so any use of the DMA engine API which has a predictable
latency around the completion handling is going to be unreliable.

Remember also that with circular buffers, there's no guarantee of getting
period-based completion callbacks - several periods can complete and you
are only guaranteed to get one completion callback.

So, the idea that completion callbacks can have anything to do with low
latency or accuracy is totally incorrect.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
  [PATCH 1/7] dmaengine: omap-dma: Simplify omap_dma_start_sg parameter list Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
  [PATCH 7/7] dmaengine: omap-dma: Support for LinkedList transfer of slave_sg Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
    Re: [PATCH 7/7] dmaengine: omap-dma: Support for LinkedList transfer  of slave_sg Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-18 12:50 +0200
      Re: [PATCH 7/7] dmaengine: omap-dma: Support for LinkedList transfer  of slave_sg Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-18 13:20 +0200
  [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
    Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-18 12:40 +0200
      Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-19 14:40 +0200
        Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-19 18:30 +0200
          Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-19 21:30 +0200
          Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Vinod Koul <vinod.koul@intel.com> - 2016-07-24 09:40 +0200
        Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion Robert Jarzmik <robert.jarzmik@free.fr> - 2016-07-20 08:30 +0200
          Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-21 11:40 +0200
          Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-21 11:40 +0200
            Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-21 11:50 +0200
              Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on  transfer completion Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-22 13:10 +0200
  [PATCH 4/7] dmaengine: omap-dma: Dynamically allocate memory for lch_map Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
  [PATCH 6/7] dmaengine: omap-dma: Use pointer to omap_sg in slave_sg setup's loop Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-14 14:50 +0200
  Re: [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-18 12:40 +0200
    Re: [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-18 14:10 +0200
      Re: [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-18 14:30 +0200
        Re: [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-07-18 14:40 +0200

csiph-web