summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-report
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2018-10-02 14:48:49 -0700
committerIngo Molnar <mingo@kernel.org>2018-10-03 08:56:31 +0200
commite4a02ed2aaf447fa849e3254bfdb3b9b01e1e520 (patch)
treeefde9b63dc65cc261e0234d82001c976d17ee946 /tools/perf/scripts/python/bin/stackcollapse-report
parent6d348925b306ab0cc9757a09a8cea6bf288018e4 (diff)
downloadkernel-e4a02ed2aaf447fa849e3254bfdb3b9b01e1e520.tar.gz
locking/ww_mutex: Fix runtime warning in the WW mutex selftest
If CONFIG_WW_MUTEX_SELFTEST=y is enabled, booting an image in an arm64 virtual machine results in the following traceback if 8 CPUs are enabled: DEBUG_LOCKS_WARN_ON(__owner_task(owner) != current) WARNING: CPU: 2 PID: 537 at kernel/locking/mutex.c:1033 __mutex_unlock_slowpath+0x1a8/0x2e0 ... Call trace: __mutex_unlock_slowpath() ww_mutex_unlock() test_cycle_work() process_one_work() worker_thread() kthread() ret_from_fork() If requesting b_mutex fails with -EDEADLK, the error variable is reassigned to the return value from calling ww_mutex_lock on a_mutex again. If this call fails, a_mutex is not locked. It is, however, unconditionally unlocked subsequently, causing the reported warning. Fix the problem by using two error variables. With this change, the selftest still fails as follows: cyclic deadlock not resolved, ret[7/8] = -35 However, the traceback is gone. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will.deacon@arm.com> Fixes: d1b42b800e5d0 ("locking/ww_mutex: Add kselftests for resolving ww_mutex cyclic deadlocks") Link: http://lkml.kernel.org/r/1538516929-9734-1-git-send-email-linux@roeck-us.net Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
desettingOndrej Jirman 2024-06-10drm/sun4i: Add more parameters to sunxi_engine commit callbackOndrej Jirman 2024-06-10drm/sun4i: Unify sun8i_*_layer structsOndrej Jirman 2024-05-29drm/sun4i: Fix compilation errorMaxime Ripard 2024-05-28drm/sun4i: hdmi: Switch to HDMI connectorMaxime Ripard 2024-05-02Revert "drm: Make drivers depends on DRM_DW_HDMI"Geert Uytterhoeven 2024-04-22drm/sun4i: hdmi: switch to struct drm_edidJani Nikula 2024-04-02Merge drm/drm-next into drm-misc-nextThomas Zimmermann 2024-03-28drm: Make drivers depends on DRM_DW_HDMIMaxime Ripard 2024-03-14drm/sun4i: hdmi: Fix u64 div on 32bit archMaxime Ripard 2024-03-01drm/sun4i: hdmi: Add missing drm_atomic headerMaxime Ripard 2024-02-26drm/sun4i: hdmi: Consolidate atomic_check and mode_validMaxime Ripard 2024-02-26drm/sun4i: hdmi: Switch to container_of_constMaxime Ripard 2024-02-26drm/sun4i: hdmi: Move mode_set into enableMaxime Ripard 2024-02-26drm/sun4i: hdmi: Convert encoder to atomicMaxime Ripard 2024-01-18drm: remove I2C_CLASS_DDC supportHeiner Kallweit 2023-09-29Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm...Dave Airlie 2023-09-21drm: Call drm_atomic_helper_shutdown() at shutdown time for misc driversDouglas Anderson 2023-08-30Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cl...Linus Torvalds 2023-08-22clk: Annotate struct clk_hw_onecell_data with __counted_byKees Cook