[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.00.1601242020330.5958@tp.orcam.me.uk>
Date: Sun, 24 Jan 2016 20:26:15 +0000
From: "Maciej W. Rozycki" <macro@...tec.com>
To: Brian Norris <computersforpeace@...il.com>
CC: Rafał Miłecki <zajec5@...il.com>,
Ralf Baechle <ralf@...ux-mips.org>,
Javier Martinez Canillas <javier@....samsung.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Fengguang Wu <fengguang.wu@...el.com>,
Michael Ellerman <mpe@...erman.id.au>,
Luis de Bethencourt <luisbg@....samsung.com>,
Jeremy Kerr <jk@...abs.org>,
Neelesh Gupta <neelegup@...ux.vnet.ibm.com>,
"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
David Woodhouse <dwmw2@...radead.org>,
Cyril Bur <cyrilbur@...il.com>,
"Maciej W. Rozycki" <macro@...ux-mips.org>
Subject: Re: [PATCH] mtd: bcm47xxsflash: use devm_ioremap_nocache() instead
of KSEG0ADDR()
On Sat, 23 Jan 2016, Brian Norris wrote:
> IIUC, this could be solved by:
> (a) using an uncached mapping or
> (b) explicitly invalidating the relevant region after doing flash writes
> or erasures
Flash writes are usually much, much less frequent than reads, so
optimising for reads is IMO the right direction. So a cached mapping is a
good choice, however invalidation must then be done after a write.
> But I wonder why you haven't seen any problems if you've been using
> KSEG0 (cached) this whole time. Maybe just luck? Or you don't actually
> write to the flash that much?
That depends on cache usage, any stale lines may well have usually gone
in the course of regular cache line replacement, making the issue remain
unnoticed.
Maciej
Powered by blists - more mailing lists