Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1408746
| From | Vinod Koul <vinod.koul@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2] dma: rcar-dmac: use list_add() on rcar_dmac_desc_put() |
| Date | 2016-05-30 05:40 +0200 |
| Message-ID | <rEmdA-76Y-5@gated-at.bofh.it> (permalink) |
| References | <ruiuB-Vd-7@gated-at.bofh.it> <ruiuB-Vd-9@gated-at.bofh.it> <ruiuB-Vd-11@gated-at.bofh.it> <ruiuB-Vd-13@gated-at.bofh.it> <rEmdA-76Y-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, May 30, 2016 at 12:41:48AM +0000, Kuninori Morimoto wrote: > > From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.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
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH v2] dma: rcar-dmac: use list_add() on rcar_dmac_desc_put() Vinod Koul <vinod.koul@intel.com> - 2016-05-30 05:40 +0200
csiph-web