From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregory.clement@free-electrons.com (Gregory CLEMENT) Date: Thu, 26 Oct 2017 17:42:31 +0200 Subject: [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill In-Reply-To: <20171025145823.29262-1-gregory.clement@free-electrons.com> (Gregory CLEMENT's message of "Wed, 25 Oct 2017 16:58:23 +0200") References: <20171025145823.29262-1-gregory.clement@free-electrons.com> Message-ID: <87h8ul5314.fsf@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, On mer., oct. 25 2017, Gregory CLEMENT wrote: > From: Yan Markman > > 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 > Signed-off-by: Igal Liberman > Signed-off-by: Nadav Haklai > [gregory.clement at free-electrons.com: reformulate commit log, add Armada > 375 and add Fixes tag] > Signed-off-by: Gregory CLEMENT 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.free-electrons.com ([62.4.15.54]:32928 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932364AbdJZPmd (ORCPT ); Thu, 26 Oct 2017 11:42:33 -0400 From: Gregory CLEMENT To: Jason Cooper Cc: Andrew Lunn , Sebastian Hesselbarth , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org, Antoine Tenart , =?utf-8?Q?Miqu=C3=A8l?= Raynal , Nadav Haklai , Yan Markman , stable@vger.kernel.org, Igal Liberman Subject: Re: [PATCH] ARM: dts: mvebu: pl310-cache disable double-linefill References: <20171025145823.29262-1-gregory.clement@free-electrons.com> Date: Thu, 26 Oct 2017 17:42:31 +0200 In-Reply-To: <20171025145823.29262-1-gregory.clement@free-electrons.com> (Gregory CLEMENT's message of "Wed, 25 Oct 2017 16:58:23 +0200") Message-ID: <87h8ul5314.fsf@free-electrons.com> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: Hi, On mer., oct. 25 2017, Gregory CLEMENT wrote: > From: Yan Markman > > 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 > Signed-off-by: Igal Liberman > Signed-off-by: Nadav Haklai > [gregory.clement@free-electrons.com: reformulate commit log, add Armada > 375 and add Fixes tag] > Signed-off-by: Gregory CLEMENT 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