* [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes
@ 2017-10-02 15:59 Linus Lüssing
[not found] ` <20171002155903.19511-1-linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
2017-10-06 22:59 ` Kevin Hilman
0 siblings, 2 replies; 4+ messages in thread
From: Linus Lüssing @ 2017-10-02 15:59 UTC (permalink / raw)
To: linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Carlo Caione,
Martin Blumenstingl, Mark Rutland, Rob Herring, Russell King,
Kevin Hilman, Linus Lüssing
So far, the stress-ng tool for instance quickly resulted in a silent
freeze of the system with no prior notice on a serial console when
running its filesystem or memory stressor classes.
Even with a panic-on-OOM and reboot-on-panic (vm.panic_on_oom=1,
kernel.panic=10) configured, the system would neither reboot nor
would the OOM killer get any chance to otherwise do its job.
The Amlogic reference source code uses a 2MB PHYS_OFFSET. With these 2MB
reserved via DT, stress-ng was able to run on an Odroid C1+ just fine for
several hours, the OOM killer was able to kill processes again and if
configured would successfully trigger a reboot of the system.
Fixes: 4a69fcd3a108 ("ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards")
Signed-off-by: Linus Lüssing <linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
---
The following stress-ng command worked fine now:
$ stress-ng -v --sequential 0 -t 120s --exclude sysfs,opcode --metrics
(5 hours runtime, tested on an Odroid C1+ with an 4.14-rc1 kernel + SMP
+ USB DTS patches)
---
arch/arm/boot/dts/meson8b.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
index bc278da..d75a5b5 100644
--- a/arch/arm/boot/dts/meson8b.dtsi
+++ b/arch/arm/boot/dts/meson8b.dtsi
@@ -83,6 +83,18 @@
};
};
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ /* 2 MiB reserved for Hardware ROM Firmware? */
+ hwrom@0 {
+ reg = <0x0 0x200000>;
+ no-map;
+ };
+ };
+
scu@c4300000 {
compatible = "arm,cortex-a5-scu";
reg = <0xc4300000 0x100>;
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes
[not found] ` <20171002155903.19511-1-linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
@ 2017-10-02 18:39 ` Martin Blumenstingl
[not found] ` <20171002234755.GA18646@ingrassia.epigenesys.com>
0 siblings, 1 reply; 4+ messages in thread
From: Martin Blumenstingl @ 2017-10-02 18:39 UTC (permalink / raw)
To: Linus Lüssing
Cc: linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Carlo Caione, Mark Rutland,
Rob Herring, Russell King, Kevin Hilman
On Mon, Oct 2, 2017 at 5:59 PM, Linus Lüssing <linus.luessing-djzkFPsfvsg@public.gmane.orge> wrote:
> So far, the stress-ng tool for instance quickly resulted in a silent
> freeze of the system with no prior notice on a serial console when
> running its filesystem or memory stressor classes.
>
> Even with a panic-on-OOM and reboot-on-panic (vm.panic_on_oom=1,
> kernel.panic=10) configured, the system would neither reboot nor
> would the OOM killer get any chance to otherwise do its job.
>
> The Amlogic reference source code uses a 2MB PHYS_OFFSET. With these 2MB
> reserved via DT, stress-ng was able to run on an Odroid C1+ just fine for
> several hours, the OOM killer was able to kill processes again and if
> configured would successfully trigger a reboot of the system.
>
> Fixes: 4a69fcd3a108 ("ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards")
> Signed-off-by: Linus Lüssing <linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
Acked-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
>
> ---
> The following stress-ng command worked fine now:
> $ stress-ng -v --sequential 0 -t 120s --exclude sysfs,opcode --metrics
> (5 hours runtime, tested on an Odroid C1+ with an 4.14-rc1 kernel + SMP
> + USB DTS patches)
> ---
> arch/arm/boot/dts/meson8b.dtsi | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
> index bc278da..d75a5b5 100644
> --- a/arch/arm/boot/dts/meson8b.dtsi
> +++ b/arch/arm/boot/dts/meson8b.dtsi
> @@ -83,6 +83,18 @@
> };
> };
>
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + /* 2 MiB reserved for Hardware ROM Firmware? */
> + hwrom@0 {
> + reg = <0x0 0x200000>;
> + no-map;
> + };
> + };
> +
> scu@c4300000 {
> compatible = "arm,cortex-a5-scu";
> reg = <0xc4300000 0x100>;
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes
2017-10-02 15:59 [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes Linus Lüssing
[not found] ` <20171002155903.19511-1-linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
@ 2017-10-06 22:59 ` Kevin Hilman
1 sibling, 0 replies; 4+ messages in thread
From: Kevin Hilman @ 2017-10-06 22:59 UTC (permalink / raw)
To: Linus Lüssing
Cc: linux-amlogic, devicetree, linux-arm-kernel, linux-kernel,
Carlo Caione, Martin Blumenstingl, Mark Rutland, Rob Herring,
Russell King
Linus Lüssing <linus.luessing@c0d3.blue> writes:
> So far, the stress-ng tool for instance quickly resulted in a silent
> freeze of the system with no prior notice on a serial console when
> running its filesystem or memory stressor classes.
>
> Even with a panic-on-OOM and reboot-on-panic (vm.panic_on_oom=1,
> kernel.panic=10) configured, the system would neither reboot nor
> would the OOM killer get any chance to otherwise do its job.
>
> The Amlogic reference source code uses a 2MB PHYS_OFFSET. With these 2MB
> reserved via DT, stress-ng was able to run on an Odroid C1+ just fine for
> several hours, the OOM killer was able to kill processes again and if
> configured would successfully trigger a reboot of the system.
>
> Fixes: 4a69fcd3a108 ("ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards")
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Applied to v4.15/dt with Martin's Tested-by,
Thanks,
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes
[not found] ` <20171023074721.GB2049@otheros>
@ 2017-10-28 20:27 ` Linus Lüssing
0 siblings, 0 replies; 4+ messages in thread
From: Linus Lüssing @ 2017-10-28 20:27 UTC (permalink / raw)
To: linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Mark Rutland, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Russell King,
Rob Herring, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, Kevin Hilman, Carlo Caione,
Martin Blumenstingl, Emiliano Ingrassia
On Mon, Oct 23, 2017 at 09:47:21AM +0200, Linus Lüssing wrote:
> I'm currently continuing to bisect which difference in Emiliano's
> and my kernel image makes mine boot successfully but not
> Emiliano's. (And I'm continuing reading and testing with the
> filter-range option to better understand what it's presence - or
> absence - does exactly)
I found the difference between Emiliano's and my kernel image and
could narrow it down to this particular difference via bisecting:
Using the multi_v7_defconfig target, but with the following
two options unselected:
* System Type
-> Qualcomm Support
- Enable support for MSM8X60 (disabled)
- Enable support for MSM8960 (disabled)
Results in the following diff, according to ./scripts/diffconfig:
-CLKSRC_QCOM y
-MSM_IOMMU n
ARCH_MSM8960 y -> n
ARCH_MSM8X60 y -> n
Once this is unselected, the kernel hangs for me on boot, too.
Both with or without this 2MB reserved memory region patch.
Removing the "arm,filter-ranges" as tried by Emiliano makes it
boot again.
Finally, what also helps booting again is this diff from the
pending SMP support patch series from Carlo/Martin [0]:
~~~~~
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 47d3a1ab08d2..82faa958ab88 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -147,6 +147,7 @@ textofs-$(CONFIG_SA1111) := 0x00208000
endif
textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+textofs-$(CONFIG_ARCH_MESON) := 0x00208000
textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
# Machine directory name. This list is sorted alphanumerically
~~~~~
Note the $(CONFIG_ARCH_MSM8X60) and $(CONFIG_ARCH_MSM8960) just
above. Sounds familiar :-)?
With this textofs diff alone, stress-ng still hangs though. Only
with the 2MB memory zone reserved via DT or the "arm,filter-ranges"
removed, stress-ng succeeds, too.
Regards, Linus
[0]: "[v7,4/6] ARM: meson: Add SMP bringup code for Meson8 and Meson8b"
-> https://patchwork.kernel.org/patch/9954935/
On Mon, Oct 23, 2017 at 09:47:21AM +0200, Linus Lüssing wrote:
> Subject: Re: [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes
> To: Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
> Cc: Carlo Caione <carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>, Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>, Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>, Emiliano Ingrassia <ingrassia-rBIjXPeIPFWU+1/U8MakDg@public.gmane.org>, linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
>
> Hi Kevin,
>
> Just wanted to let you know that Emiliano and I are currently
> debugging further off-list.
>
> So far I can reproduce that:
>
> a) For the binary kernel image Emiliano sent me I can reproduce
> his hang ups during boot on my Odroid C1+.
> b) The 2MB reserved memory region this patch adds does not help
> for this image.
> c) Removing the "arm,filter-range" as proposed by Emiliano back
> then instead of adding this reserved memory zone fixes my freezes
> during boot in Emiliano's image and during stress-ng for my kernel
> image, too.
>
> I'm currently continuing to bisect which difference in Emiliano's
> and my kernel image makes mine boot successfully but not
> Emiliano's. (And I'm continuing reading and testing with the
> filter-range option to better understand what it's presence - or
> absence - does exactly)
>
>
> If these observations ring a bell for anyone here, I'd be curious
> to hear what they think.
>
> Regards, Linus
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-10-28 20:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-02 15:59 [PATCH] ARM: dts: meson8b: add reserved memory zone to fix silent freezes Linus Lüssing
[not found] ` <20171002155903.19511-1-linus.luessing-djzkFPsfvsizQB+pC5nmwQ@public.gmane.org>
2017-10-02 18:39 ` Martin Blumenstingl
[not found] ` <20171002234755.GA18646@ingrassia.epigenesys.com>
[not found] ` <20171003072703.GY6726@otheros>
[not found] ` <20171003082310.GA15501@ingrassia.epigenesys.com>
[not found] ` <20171003105427.GZ6726@otheros>
[not found] ` <20171004201645.GA23053@ingrassia.epigenesys.com>
[not found] ` <20171023074721.GB2049@otheros>
2017-10-28 20:27 ` Linus Lüssing
2017-10-06 22:59 ` Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).