[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220222084652.GB6210@lst.de>
Date: Tue, 22 Feb 2022 09:46:52 +0100
From: Christoph Hellwig <hch@....de>
To: Hyeonggon Yoo <42.hyeyoo@...il.com>
Cc: Christoph Hellwig <hch@....de>, Baoquan He <bhe@...hat.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
akpm@...ux-foundation.org, cl@...ux.com, penberg@...nel.org,
rientjes@...gle.com, iamjoonsoo.kim@....com, vbabka@...e.cz,
David.Laight@...lab.com, david@...hat.com,
herbert@...dor.apana.org.au, davem@...emloft.net,
linux-crypto@...r.kernel.org, steffen.klassert@...unet.com,
netdev@...r.kernel.org, hca@...ux.ibm.com, gor@...ux.ibm.com,
agordeev@...ux.ibm.com, borntraeger@...ux.ibm.com,
svens@...ux.ibm.com, linux-s390@...r.kernel.org, michael@...le.cc,
linux-i2c@...r.kernel.org, wsa@...nel.org
Subject: Re: [PATCH 22/22] mtd: rawnand: Use dma_alloc_noncoherent() for
dma buffer
On Sat, Feb 19, 2022 at 11:18:24AM +0000, Hyeonggon Yoo wrote:
> > I think it would be better to still allocate the buffer at allocation
> > time and then just transfer ownership using dma_sync_single* in the I/O
> > path to avoid the GFP_ATOMIC allocation.
>
> This driver allocates the buffer at initialization step and maps the buffer
> for DMA_TO_DEVICE and DMA_FROM_DEVICE when processing IO.
>
> But after making this driver to use dma_alloc_noncoherent(), remapping
> dma_alloc_noncoherent()-ed buffer is strange So I just made it to allocate
> the buffer in IO path.
You should not remap it. Just use dma_sync_single* to transfer ownership.
> Hmm.. for this specific case, What about allocating two buffers
> for DMA_TO_DEVICE and DMA_FROM_DEVICE at initialization time?
That will work, but I don't see the benefit as you'd still need to call
dma_sync_single* before and after each data transfer.
Powered by blists - more mailing lists