ERRATA work-arounds in the kernel
Catalin Marinas
catalin.marinas at arm.com
Fri Mar 20 10:20:41 PDT 2015
On Fri, Mar 20, 2015 at 05:30:10PM +0100, Mason wrote:
> I also looked at ARM's "Errata Summary Table" for the Cortex A9. There are
> roughly 90 errata documented there. (This document is 2 years old.)
>
> I assume that some (most?) of these do not apply to Linux, but it seems
> likely that some do?
>
> I'm wondering why there are not more work-arounds available in Kconfig?
There are a few reasons:
- erratum cannot be triggered in Linux
- erratum cannot be worked around in Linux (e.g. it requires some
undocumented control bits to be set by firmware or even hw workaround
like the system errata)
- cat A erratum with no feasible workaround (and partners usually take
an ECO fix)
- erratum does not affect any CPU revision in production (not all rxpy
revisions are in the field; I would include here early CPU revisions
that were licensed as development chips but not widely used)
- we simply missed them. So if you think there is any that needs to be
upstreamed, let us know or submit a patch
> I'm wondering if it is possible to trigger some of these with a "normal"
> work-load on a "normal" kernel? Has anyone (perhaps ARM employees) looked
> at that? (I suppose they have.)
Define "normal". It's really hard to quantify as the workloads can vary
widely between different use cases (e.g. mobile vs server).
> For example, errata #782772
> "Speculative execution of a Load-Exclusive or Store-Exclusive instruction
> after a write to Strongly Ordered memory might deadlock the processor."
> (The recommended work-around is a strategically-placed DMB.)
>
> Since ldrex is used in low-level code, it seems possible to hit that one?
> Or perhaps Linux does not support "Strongly Ordered" memory regions?
It support SO memory and it's used in some cases.
--
Catalin
More information about the linux-arm-kernel
mailing list