* [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill
@ 2017-10-25 14:58 ` Gregory CLEMENT
0 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2017-10-25 14:58 UTC (permalink / raw)
To: linux-arm-kernel
From: Yan Markman <ymarkman@marvell.com>
Under heavy system stress mvebu SoC using Cortex A9 sporadically
encountered instability issues.
The "double linefill" feature of L2 cache was identified as causing
dependency between read and write which lead to the deadlock.
Especially, it was the cause of deadlock seen under heavy PCIe traffic,
as this dependency violates PCIE overtaking rule.
Fixes: c8f5a878e554 ("ARM: mvebu: use DT properties to fine-tune the L2 configuration")
Cc: stable at vger.kernel.org
Signed-off-by: Yan Markman <ymarkman@marvell.com>
Signed-off-by: Igal Liberman <igall@marvell.com>
Signed-off-by: Nadav Haklai <nadavh@marvell.com>
[gregory.clement at free-electrons.com: reformulate commit log, add Armada
375 and add Fixes tag]
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
arch/arm/boot/dts/armada-375.dtsi | 4 ++--
arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
arch/arm/boot/dts/armada-39x.dtsi | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 7225c7ce9a8d..2cb1bcd30976 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -178,9 +178,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 7ff0811e61db..05e241fb91ad 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -143,9 +143,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
index ea657071e278..5218bd2a248d 100644
--- a/arch/arm/boot/dts/armada-39x.dtsi
+++ b/arch/arm/boot/dts/armada-39x.dtsi
@@ -111,9 +111,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
--
2.14.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill
@ 2017-10-25 14:58 ` Gregory CLEMENT
0 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2017-10-25 14:58 UTC (permalink / raw)
To: Jason Cooper, Andrew Lunn, Sebastian Hesselbarth, Gregory CLEMENT
Cc: Thomas Petazzoni, linux-arm-kernel, Antoine Tenart,
Miquèl Raynal, Nadav Haklai, Yan Markman, stable,
Igal Liberman
From: Yan Markman <ymarkman@marvell.com>
Under heavy system stress mvebu SoC using Cortex A9 sporadically
encountered instability issues.
The "double linefill" feature of L2 cache was identified as causing
dependency between read and write which lead to the deadlock.
Especially, it was the cause of deadlock seen under heavy PCIe traffic,
as this dependency violates PCIE overtaking rule.
Fixes: c8f5a878e554 ("ARM: mvebu: use DT properties to fine-tune the L2 configuration")
Cc: stable@vger.kernel.org
Signed-off-by: Yan Markman <ymarkman@marvell.com>
Signed-off-by: Igal Liberman <igall@marvell.com>
Signed-off-by: Nadav Haklai <nadavh@marvell.com>
[gregory.clement@free-electrons.com: reformulate commit log, add Armada
375 and add Fixes tag]
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
arch/arm/boot/dts/armada-375.dtsi | 4 ++--
arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
arch/arm/boot/dts/armada-39x.dtsi | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 7225c7ce9a8d..2cb1bcd30976 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -178,9 +178,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 7ff0811e61db..05e241fb91ad 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -143,9 +143,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
index ea657071e278..5218bd2a248d 100644
--- a/arch/arm/boot/dts/armada-39x.dtsi
+++ b/arch/arm/boot/dts/armada-39x.dtsi
@@ -111,9 +111,9 @@
reg = <0x8000 0x1000>;
cache-unified;
cache-level = <2>;
- arm,double-linefill-incr = <1>;
+ arm,double-linefill-incr = <0>;
arm,double-linefill-wrap = <0>;
- arm,double-linefill = <1>;
+ arm,double-linefill = <0>;
prefetch-data = <1>;
};
--
2.14.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill
2017-10-25 14:58 ` Gregory CLEMENT
@ 2017-10-26 15:42 ` Gregory CLEMENT
-1 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2017-10-26 15:42 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On mer., oct. 25 2017, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
> From: Yan Markman <ymarkman@marvell.com>
>
> Under heavy system stress mvebu SoC using Cortex A9 sporadically
> encountered instability issues.
>
> The "double linefill" feature of L2 cache was identified as causing
> dependency between read and write which lead to the deadlock.
>
> Especially, it was the cause of deadlock seen under heavy PCIe traffic,
> as this dependency violates PCIE overtaking rule.
>
> Fixes: c8f5a878e554 ("ARM: mvebu: use DT properties to fine-tune the L2 configuration")
> Cc: stable at vger.kernel.org
> Signed-off-by: Yan Markman <ymarkman@marvell.com>
> Signed-off-by: Igal Liberman <igall@marvell.com>
> Signed-off-by: Nadav Haklai <nadavh@marvell.com>
> [gregory.clement at free-electrons.com: reformulate commit log, add Armada
> 375 and add Fixes tag]
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Applied on mvebu/fixes
Gregory
> ---
> arch/arm/boot/dts/armada-375.dtsi | 4 ++--
> arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
> arch/arm/boot/dts/armada-39x.dtsi | 4 ++--
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
> index 7225c7ce9a8d..2cb1bcd30976 100644
> --- a/arch/arm/boot/dts/armada-375.dtsi
> +++ b/arch/arm/boot/dts/armada-375.dtsi
> @@ -178,9 +178,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
> index 7ff0811e61db..05e241fb91ad 100644
> --- a/arch/arm/boot/dts/armada-38x.dtsi
> +++ b/arch/arm/boot/dts/armada-38x.dtsi
> @@ -143,9 +143,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
> index ea657071e278..5218bd2a248d 100644
> --- a/arch/arm/boot/dts/armada-39x.dtsi
> +++ b/arch/arm/boot/dts/armada-39x.dtsi
> @@ -111,9 +111,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> --
> 2.14.2
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill
@ 2017-10-26 15:42 ` Gregory CLEMENT
0 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2017-10-26 15:42 UTC (permalink / raw)
To: Jason Cooper
Cc: Andrew Lunn, Sebastian Hesselbarth, Thomas Petazzoni,
linux-arm-kernel, Antoine Tenart, Miquèl Raynal,
Nadav Haklai, Yan Markman, stable, Igal Liberman
Hi,
On mer., oct. 25 2017, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
> From: Yan Markman <ymarkman@marvell.com>
>
> Under heavy system stress mvebu SoC using Cortex A9 sporadically
> encountered instability issues.
>
> The "double linefill" feature of L2 cache was identified as causing
> dependency between read and write which lead to the deadlock.
>
> Especially, it was the cause of deadlock seen under heavy PCIe traffic,
> as this dependency violates PCIE overtaking rule.
>
> Fixes: c8f5a878e554 ("ARM: mvebu: use DT properties to fine-tune the L2 configuration")
> Cc: stable@vger.kernel.org
> Signed-off-by: Yan Markman <ymarkman@marvell.com>
> Signed-off-by: Igal Liberman <igall@marvell.com>
> Signed-off-by: Nadav Haklai <nadavh@marvell.com>
> [gregory.clement@free-electrons.com: reformulate commit log, add Armada
> 375 and add Fixes tag]
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Applied on mvebu/fixes
Gregory
> ---
> arch/arm/boot/dts/armada-375.dtsi | 4 ++--
> arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
> arch/arm/boot/dts/armada-39x.dtsi | 4 ++--
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
> index 7225c7ce9a8d..2cb1bcd30976 100644
> --- a/arch/arm/boot/dts/armada-375.dtsi
> +++ b/arch/arm/boot/dts/armada-375.dtsi
> @@ -178,9 +178,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
> index 7ff0811e61db..05e241fb91ad 100644
> --- a/arch/arm/boot/dts/armada-38x.dtsi
> +++ b/arch/arm/boot/dts/armada-38x.dtsi
> @@ -143,9 +143,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
> index ea657071e278..5218bd2a248d 100644
> --- a/arch/arm/boot/dts/armada-39x.dtsi
> +++ b/arch/arm/boot/dts/armada-39x.dtsi
> @@ -111,9 +111,9 @@
> reg = <0x8000 0x1000>;
> cache-unified;
> cache-level = <2>;
> - arm,double-linefill-incr = <1>;
> + arm,double-linefill-incr = <0>;
> arm,double-linefill-wrap = <0>;
> - arm,double-linefill = <1>;
> + arm,double-linefill = <0>;
> prefetch-data = <1>;
> };
>
> --
> 2.14.2
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-10-26 15:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-25 14:58 [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill Gregory CLEMENT
2017-10-25 14:58 ` Gregory CLEMENT
2017-10-26 15:42 ` Gregory CLEMENT
2017-10-26 15:42 ` Gregory CLEMENT
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.