Status Update
Comments
jw...@dharmo.net <jw...@dharmo.net> #2
Sorry for the inconvenience if the bug really should have been left as Available.
For more details visit
uc...@google.com <uc...@google.com>
rp...@google.com <rp...@google.com> #3
al...@google.com <al...@google.com>
ap...@google.com <ap...@google.com> #4
AFAICT the buddy lockup detector will not help with debugging as it cannot produce the stack backtrace on the locked up core.
I think something like the "IPI as NMI" series [1] would help with this. The NMI IPI can be used to force a stack dump. I've lightly tested this on MT8195 (CrOS 5.10 Cherry ToT) and RK3399 (5.10 uprev). Some fixes are required [2][3] though.
Unfortunately the latest Cherry ToT simply panics during boot from a spinlock recursion if pseudo-NMIs are enabled.
[1]
[2]
[3]
jw...@dharmo.net <jw...@dharmo.net> #5
AFAICT the buddy lockup detector will not help with debugging as it cannot produce the stack backtrace on the locked up core.
It's still better than nothing (especially if you combine it with something like
Right that the NMI solution is better. That's
ap...@google.com <ap...@google.com> #6
If for some reason the PMU interrupts can't be used as NMIs, like if they are partitioned (seen on RK3399 and MT8195), or they aren't PPIs (not seen on ChromeOS platforms but on other platforms), then this won't work.
I'll open another bug to track "IPI as NMI for NMI backtraces" to complement the buddy lockup detector.
ap...@google.com <ap...@google.com> #7
Filed as
ap...@google.com <ap...@google.com> #8
Not sure why this got closed; it's still relevant.
xi...@gmail.com <xi...@gmail.com> #9
Branch: chromeos-5.15
commit 399e5d4e576b8bfdc0939b6e62694bbe65b5a9f9
Author: Douglas Anderson <dianders@chromium.org>
Date: Mon Apr 17 17:25:44 2023
FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (all backtrace)
The buddy hard lockup detector should try backtracing on all
CPUs. Right now it doesn't. Copy that bit of logic from the normal
hardlockup detector.
NOTE: On arm64 (the current user of the buddy detector), this won't
(yet) do anything. Soon, hopefully.
UPSTREAM-TASK=b:172213097
BUG=b:278598383, b:278594093, b:197061987, b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Id225408348d8a45e68080d08139bc6d9e170000a
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on:
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
M kernel/watchdog_buddy_cpu.c
xi...@gmail.com <xi...@gmail.com> #10
Branch: chromeos-5.15
commit 71986679fe52d94286f9051f09b958ecf582c7fc
Author: Douglas Anderson <dianders@chromium.org>
Date: Mon Apr 17 17:15:31 2023
FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (sysctl)
The CHROMIUM patch accidentally didn't expose the hardlockup panic
sysctls based on the right config. Fix it.
NOTE: Only one of these two sysctls actually does something with the
current buddy detector. You can turn on/off the hard lockup detector
but it doesn't (yet) support tracing other CPUs.
UPSTREAM-TASK=b:172213097
BUG=b:278598383, b:278594093, b:197061987, b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Id88d1fb603308e7210c30e42bb6e4e6a4be65a0c
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on:
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
M kernel/sysctl.c
xi...@gmail.com <xi...@gmail.com> #11
Branch: chromeos-6.1
commit e21e2990b1d7fbb917a7b37541f91f41670d0d1d
Author: Douglas Anderson <dianders@chromium.org>
Date: Mon Apr 17 17:25:44 2023
FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (all backtrace)
The buddy hard lockup detector should try backtracing on all
CPUs. Right now it doesn't. Copy that bit of logic from the normal
hardlockup detector.
NOTE: On arm64 (the current user of the buddy detector), this won't
(yet) do anything. Soon, hopefully.
UPSTREAM-TASK=b:172213097
BUG=b:278598383, b:278594093, b:197061987, b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Id225408348d8a45e68080d08139bc6d9e170000a
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on:
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
(cherry picked from commit 399e5d4e576b8bfdc0939b6e62694bbe65b5a9f9)
Reviewed-on:
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
M kernel/watchdog_buddy_cpu.c
jw...@dharmo.net <jw...@dharmo.net> #12
Branch: chromeos-6.1
commit 0351e3dbd6dce50087d5b4cb4698c7ceacb93bfa
Author: Douglas Anderson <dianders@chromium.org>
Date: Mon Apr 17 17:15:31 2023
FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (sysctl)
The CHROMIUM patch accidentally didn't expose the hardlockup panic
sysctls based on the right config. Fix it.
NOTE: Only one of these two sysctls actually does something with the
current buddy detector. You can turn on/off the hard lockup detector
but it doesn't (yet) support tracing other CPUs.
UPSTREAM-TASK=b:172213097
BUG=b:278598383, b:278594093, b:197061987, b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Id88d1fb603308e7210c30e42bb6e4e6a4be65a0c
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on:
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-on:
M kernel/watchdog.c
nb...@gmail.com <nb...@gmail.com> #17
Everything, including fixes for all reported issues, is now in Linus's tree. \o/
I've done a backport of all of this to chromeos-6.1. The hope is that will make the continuous rebase kernels go more smoothly because they'll all get the configs enabled properly and won't have to separately realize the patches that they need to drop. Anyone care to review? Chen-Yu, maybe? I've put a tiny bit of notes about why I picked various patches in the attached notes.
Note that this also happens to bring in the arm64 perf lockup detector (see
The whole chain is:
https://crrev.com/c/4673849 - CHROMIUM: config: Enable the buddy hardlockup detector in the upstream wayhttps://crrev.com/c/4673848 - UPSTREAM: powerpc: Include asm/nmi.c in mobility.c for watchdog_hardlockup_set_timeout_pct()https://crrev.com/c/4673847 - UPSTREAM: watchdog/hardlockup: fix typo in config HARDLOCKUP_DETECTOR_PREFER_BUDDYhttps://crrev.com/c/4673846 - UPSTREAM: powerpc: move arch_trigger_cpumask_backtrace from nmi.h to irq.hhttps://crrev.com/c/4673845 - UPSTREAM: watchdog/hardlockup: define HARDLOCKUP_DETECTOR_ARCHhttps://crrev.com/c/4673844 - UPSTREAM: watchdog/sparc64: define HARDLOCKUP_DETECTOR_SPARC64https://crrev.com/c/4673843 - BACKPORT: watchdog/hardlockup: make HAVE_NMI_WATCHDOG sparc64-specifichttps://crrev.com/c/4673842 - UPSTREAM: watchdog/hardlockup: declare arch_touch_nmi_watchdog() only in linux/nmi.hhttps://crrev.com/c/4673841 - UPSTREAM: watchdog/hardlockup: make the config checks more straightforwardhttps://crrev.com/c/4673840 - UPSTREAM: watchdog/hardlockup: sort hardlockup detector related config values a logical wayhttps://crrev.com/c/4673839 - UPSTREAM: watchdog/hardlockup: move SMP barriers from common code to buddy codehttps://crrev.com/c/4673838 - UPSTREAM: watchdog/buddy: simplify the dependency for HARDLOCKUP_DETECTOR_PREFER_BUDDYhttps://crrev.com/c/4673837 - UPSTREAM: watchdog/buddy: don't copy the cpumask in watchdog_next_cpu()https://crrev.com/c/4673836 - UPSTREAM: watchdog/buddy: cleanup how watchdog_buddy_check_hardlockup() is calledhttps://crrev.com/c/4673835 - UPSTREAM: watchdog/hardlockup: remove softlockup comment in touch_nmi_watchdog()https://crrev.com/c/4673834 - UPSTREAM: watchdog/hardlockup: in watchdog_hardlockup_check() use cpumask_copy()https://crrev.com/c/4673833 - UPSTREAM: watchdog/hardlockup: don't use raw_cpu_ptr() in watchdog_hardlockup_kick()https://crrev.com/c/4673832 - UPSTREAM: watchdog/hardlockup: HAVE_NMI_WATCHDOG must implement watchdog_hardlockup_probe()https://crrev.com/c/4673831 - UPSTREAM: watchdog/hardlockup: keep kernel.nmi_watchdog sysctl as 0444 if probe failshttps://crrev.com/c/4673830 - UPSTREAM: arm64: enable perf events based hard lockup detectorhttps://crrev.com/c/4673829 - UPSTREAM: arm64: add hw_nmi_get_sample_period for preparation of lockup detectorhttps://crrev.com/c/4673828 - UPSTREAM: watchdog/perf: adapt the watchdog_perf interface for async modelhttps://crrev.com/c/4673827 - UPSTREAM: watchdog/perf: add a weak function for an arch to detect if perf can use NMIshttps://crrev.com/c/4673826 - UPSTREAM: watchdog/hardlockup: detect hard lockups using secondary (buddy) CPUshttps://crrev.com/c/4673825 - UPSTREAM: watchdog/hardlockup: have the perf hardlockup use __weak functions more cleanlyhttps://crrev.com/c/4673824 - UPSTREAM: watchdog/hardlockup: rename some "NMI watchdog" constants/functionhttps://crrev.com/c/4673823 - UPSTREAM: watchdog/hardlockup: move perf hardlockup watchdog petting to watchdog.chttps://crrev.com/c/4673822 - UPSTREAM: watchdog/hardlockup: add a "cpu" param to watchdog_hardlockup_check()https://crrev.com/c/4673821 - UPSTREAM: watchdog/hardlockup: style changes to watchdog_hardlockup_check() / is_hardlockup()https://crrev.com/c/4673520 - UPSTREAM: watchdog/hardlockup: move perf hardlockup checking/panic to common watchdog.chttps://crrev.com/c/4673519 - UPSTREAM: watchdog/perf: rename watchdog_hld.c to watchdog_perf.chttps://crrev.com/c/4673518 - UPSTREAM: watchdog/hardlockup: add comments to touch_nmi_watchdog()https://crrev.com/c/4673517 - UPSTREAM: watchdog/perf: ensure CPU-bound context when creating hardlockup detector eventhttps://crrev.com/c/4673516 - UPSTREAM: watchdog/hardlockup: change watchdog_nmi_enable() to voidhttps://crrev.com/c/4673515 - UPSTREAM: watchdog: remove WATCHDOG_DEFAULThttps://crrev.com/c/4673514 - UPSTREAM: watchdog/perf: more properly prevent false positives with turbo modeshttps://crrev.com/c/4673513 - UPSTREAM: watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct confighttps://crrev.com/c/4673512 - Revert "CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus"https://crrev.com/c/4673511 - Revert "FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (sysctl)"https://crrev.com/c/4673510 - Revert "FIXUP: CHROMIUM: hardlockup: detect hard lockups without NMIs using secondary cpus (all backtrace)"https://crrev.com/c/4673509 - UPSTREAM: arm64: perf: Move PMUv3 driver to drivers/perf
Once that lands, we could probably call this fixed. If needed, we could also backport to older kernels.
ap...@google.com <ap...@google.com> #18
Branch: chromeos-6.1
commit 4d218ff03e576500a617329c19c0ba1f1461bbce
Author: Douglas Anderson <dianders@chromium.org>
Date: Fri May 19 10:18:31 2023
UPSTREAM: watchdog/perf: rename watchdog_hld.c to watchdog_perf.c
The code currently in "watchdog_hld.c" is for detecting hardlockups using
perf, as evidenced by the line in the Makefile that only compiles this
file if CONFIG_HARDLOCKUP_DETECTOR_PERF is defined. Rename the file to
prepare for the buddy hardlockup detector, which doesn't use perf.
It could be argued that the new name makes it less obvious that this is a
hardlockup detector. While true, it's not hard to remember that the
"perf" detector is always a hardlockup detector and it's nice not to have
names that are too convoluted.
Link:
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Lecopzer Chen <lecopzer.chen@mediatek.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Pingfan Liu <kernelfans@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 6ea0d04211a7715a926f5dca4aa1065614fa64da)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Ice803cb078d0e15fb2cbf49132f096ee2bd4199d
Reviewed-on:
Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
M kernel/Makefile
M kernel/watchdog_perf.c
jw...@dharmo.net <jw...@dharmo.net> #19
Branch: chromeos-6.1
commit 222ddfef1622e21c885c6b6d310547c8c1533d65
Author: Douglas Anderson <dianders@chromium.org>
Date: Fri May 19 10:18:30 2023
UPSTREAM: watchdog/hardlockup: add comments to touch_nmi_watchdog()
In preparation for the buddy hardlockup detector, add comments to
touch_nmi_watchdog() to make it obvious that it touches the configured
hardlockup detector regardless of whether it's backed by an NMI. Also
note that arch_touch_nmi_watchdog() may not be architecture-specific.
Ideally, we'd like to rename these functions but that is a fairly
disruptive change touching a lot of drivers. After discussion [1] the
plan is to defer this until a good time.
[1]
[akpm@linux-foundation.org: comment changes, per Petr]
Link:
Link:
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Lecopzer Chen <lecopzer.chen@mediatek.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Pingfan Liu <kernelfans@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 8b5c59a92b5b37e5c65ec185810d67e3f30f5a2e)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: I4e47cbfa1bb2ebbcdb5ca16817aa2887f15dc82c
Reviewed-on:
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
M include/linux/nmi.h
jw...@dharmo.net <jw...@dharmo.net> #20
Branch: chromeos-6.1
commit 226f0cff12cabe1dc31895d20409d9e22654a76e
Author: Pingfan Liu <kernelfans@gmail.com>
Date: Fri May 19 10:18:29 2023
UPSTREAM: watchdog/perf: ensure CPU-bound context when creating hardlockup detector event
hardlockup_detector_event_create() should create perf_event on the current
CPU. Preemption could not get disabled because
perf_event_create_kernel_counter() allocates memory. Instead, the CPU
locality is achieved by processing the code in a per-CPU bound kthread.
Add a check to prevent mistakes when calling the code in another code
path.
Link:
Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Co-developed-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 1fafaa7745eeeeffef7155ab5eeb8cc83d04874f)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: I654063e53782b11d53e736a8ad4897ffd207406a
Reviewed-on:
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
M kernel/watchdog_hld.c
jw...@dharmo.net <jw...@dharmo.net> #21
Branch: chromeos-6.1
commit 8e80d8f4420819b56cc60472256e266308b54a15
Author: Lecopzer Chen <lecopzer.chen@mediatek.com>
Date: Fri May 19 10:18:28 2023
UPSTREAM: watchdog/hardlockup: change watchdog_nmi_enable() to void
Nobody cares about the return value of watchdog_nmi_enable(), changing its
prototype to void.
Link:
Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Nicholas Piggin <npiggin@gmail.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 730211182ed083898fa5feb4b28459ffac4c9615)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: Ic3a19b592eb1ac4c6f6eade44ffd943e8637b6e5
Reviewed-on:
Tested-by: Douglas Anderson <dianders@chromium.org>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
M arch/sparc/kernel/nmi.c
M include/linux/nmi.h
M kernel/watchdog.c
jw...@dharmo.net <jw...@dharmo.net> #22
Branch: chromeos-6.1
commit f3583f5bf1ce1445abef98e6cadfe33e487018aa
Author: Lecopzer Chen <lecopzer.chen@mediatek.com>
Date: Fri May 19 10:18:27 2023
UPSTREAM: watchdog: remove WATCHDOG_DEFAULT
No reference to WATCHDOG_DEFAULT, remove it.
Link:
Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 810b560e8985725dbd57bbb3f188c231365eb5ae)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: I6a729209a1320e0ad212176e250ff945b8f91b2a
Reviewed-on:
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <sean@poorly.run>
M kernel/watchdog.c
jw...@dharmo.net <jw...@dharmo.net> #23
Branch: chromeos-6.1
commit a4af9617ba585314e0e08906a78bfab2c30be00d
Author: Douglas Anderson <dianders@chromium.org>
Date: Fri May 19 10:18:26 2023
UPSTREAM: watchdog/perf: more properly prevent false positives with turbo modes
Currently, in the watchdog_overflow_callback() we first check to see if
the watchdog had been touched and _then_ we handle the workaround for
turbo mode. This order should be reversed.
Specifically, "touching" the hardlockup detector's watchdog should avoid
lockups being detected for one period that should be roughly the same
regardless of whether we're running turbo or not. That means that we
should do the extra accounting for turbo _before_ we look at (and clear)
the global indicating that we've been touched.
NOTE: this fix is made based on code inspection. I am not aware of any
reports where the old code would have generated false positives. That
being said, this order seems more correct and also makes it easier down
the line to share code with the "buddy" hardlockup detector.
Link:
Fixes: 7edaeb6841df ("kernel/watchdog: Prevent false positives with turbo modes")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Colin Cross <ccross@android.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Lecopzer Chen <lecopzer.chen@mediatek.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Pingfan Liu <kernelfans@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
Cc: Ricardo Neri <ricardo.neri@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sumit Garg <sumit.garg@linaro.org>
Cc: Tzung-Bi Shih <tzungbi@chromium.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 4379e59fe5665cfda737e45b8bf2f05321ef049c)
BUG=b:172213097
TEST=echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
Change-Id: I843b0d1de3e096ba111a179f3adb16d576bef5c7
Reviewed-on:
Reviewed-by: Sean Paul <sean@poorly.run>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Commit-Queue: Douglas Anderson <dianders@chromium.org>
M kernel/watchdog_hld.c
Description
AI-171.4408382, JRE 1.8.0_152-release-915-b08x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.12.6 unknown, screens 1920x1080, 1920x1080
IMPORTANT: Please read
During the building process, the backend jar, war and zip file are produced, but the app module doesn't pick them up.
Though the build process completes without error, the app module is not recognizing the "new" APIs.