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


Groups > linux.kernel > #1447007

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

From Robert Jarzmik <robert.jarzmik@free.fr>
Newsgroups linux.kernel
Subject Re: [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion
Date 2016-07-20 08:30 +0200
Message-ID <rWTb4-6fy-5@gated-at.bofh.it> (permalink)
References <rUOfv-1kh-5@gated-at.bofh.it> <rUOfw-1kh-11@gated-at.bofh.it> <rWe7U-4ZV-17@gated-at.bofh.it> <rWCtA-40N-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Peter Ujfalusi <peter.ujfalusi@ti.com> writes:

> On 07/18/16 13:34, Russell King - ARM Linux wrote:
>> On Thu, Jul 14, 2016 at 03:42:37PM +0300, Peter Ujfalusi wrote:
>>> Before looking for the next descriptor to start, complete the just finished
>>> cookie.
>> 
>> This change will reduce performance as we no longer have an overlap
>> between the next request starting to be dealt with in the hardware
>> vs the previous request being completed.
>
> vchan_cookie_complete() will only mark the cookie completed, adds the vd to
> the desc_completed list (it was deleted from desc_issued list when it was
> started by omap_dma_start_desc) and schedule the tasklet to deal with the real
> completion later.
> Marking the just finished descriptor/cookie done first then looking for
> possible descriptors in the queue to start feels like a better sequence.
>
> After a quick grep in the kernel source: only omap-dma.c was starting the next
> transfer before marking the current completed descriptor/cookie done.

Euh actually I think it's done in other drivers as well :
 - Documentation/dmaengine/pxa_dma.txt (chapter "Transfers hot-chaining)
 - drivers/dma/pxa_dma.c
   => look for pxad_try_hotchain() and it's impact on pxad_chan_handler() which
   will mark the completion while the next transfer is already pumped by the
   hardware.

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.

So in your quest for the "better sequence" the pxa driver's one might give you
some perspective :)

Cheers.

-- 
Robert

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