[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190806065115.GB2508@infradead.org>
Date: Mon, 5 Aug 2019 23:51:15 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: Guo Ren <guoren@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
linux-csky@...r.kernel.org, feng_shizhu@...uatech.com,
zhang_jian5@...uatech.com, zheng_xingjian@...uatech.com,
zhu_peng@...uatech.com, Guo Ren <ren_guo@...ky.com>
Subject: Re: [PATCH 4/4] csky: Add dma_inv_range for DMA_FROM_DEVICE
On Tue, Jul 30, 2019 at 03:43:20PM +0200, Arnd Bergmann wrote:
> When syncing 'for_cpu', you should not need to write back, because
> there won't be any dirty cache lines.
>
> If you have a CPU core that does not do speculative loads, you also don't
> need to invalidate here, because you have already done that in the
> _for_device() case, the only reason to invalidate the CPU cache
> again is if a speculative load created a stale cache line that now
> shadows the data received from the device.
Yes. And that is one reason why I want to lift a set of common helpers
for both the speculating and non-speculating case to the common code
that just calls arch specific writeback/invalidate/writeback+invalidate
helpers. It hasn't been a priotity so far, but maybe it becomes one
now. Especially if I could draft someone else to help with it :)
Powered by blists - more mailing lists