[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160530034252.GF16910@localhost>
Date: Mon, 30 May 2016 09:12:53 +0530
From: Vinod Koul <vinod.koul@...el.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
Cc: Geert Uytterhoeven <geert+renesas@...der.be>,
Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>,
dmaengine@...r.kernel.org, sakato <ryusuke.sakato.bx@...esas.com>,
linux-kernel@...r.kernel.org, OSD2 ML <osd2@...renesas.com>
Subject: Re: [PATCH v2] dma: rcar-dmac: use list_add() on rcar_dmac_desc_put()
On Mon, May 30, 2016 at 12:41:48AM +0000, Kuninori Morimoto wrote:
>
> From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
>
> For each descriptor, in addition to the memory used by the descriptors
> structure itself, the driver allocates a list of chunks as well as a
> buffer for hardware descriptors. Descriptors themselves are preallocated,
> and allocation of the chunks and buffer is performed the first time the
> descriptor is used. The memory isn't freed when the transfer is completed,
> as the chunks and buffer will be needed again when the descriptor is
> reused internally, so the driver keeps the memory around.
>
> If only a few descriptors are used concurrently, the current
> list_add_tail() implementation will result in all preallocated descriptors
> being used before going back to the first one, and will thus allocate
> chunks and a buffer for all preallocated descriptors. Using list_add()
> will put the complete descriptor at the head of the list of available
> descriptors, so the next transfer will be more likely to reuse a
> descriptor that already has associated memory instead of one that has
> never been used before.
Applied after fixing subsystem name
--
~Vinod
Powered by blists - more mailing lists