Re: [PATCH V2 0/3] riscv: Enable LOCKDEP

From: Palmer Dabbelt
Date: Thu Jul 09 2020 - 18:06:45 EST


On Sat, 27 Jun 2020 06:57:05 PDT (-0700), guoren@xxxxxxxxxx wrote:
From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>

Lockdep is needed by proving the spinlocks and rwlocks. To support it,
we need to add TRACE_IRQFLAGS codes in kernel/entry.S. These patches
follow Documentation/irqflags-tracing.txt.

Fixup 2 bugs that block the lockdep implementation.

---
Changes in v2
- Remove sX regs recovery codes which are unnecessary, because
callee will handle them. Thx Greentime :)

- Move "restore a0 - a7" to handle_syscall, but if _TIF_SYSCALL_WORK
is set, "restore a1 - a7" is still duplicated. I prefer a C wrapper
for syscall.

Guo Ren (2):
riscv: Fixup static_obj() fail
riscv: Enable LOCKDEP_SUPPORT & fixup TRACE_IRQFLAGS_SUPPORT

Zong Li (1):
riscv: Fixup lockdep_assert_held with wrong param cpu_running

arch/riscv/Kconfig | 3 +++
arch/riscv/kernel/entry.S | 33 ++++++++++++++++++++++++++++++++-
arch/riscv/kernel/smpboot.c | 1 -
arch/riscv/kernel/vmlinux.lds.S | 2 +-
4 files changed, 36 insertions(+), 3 deletions(-)

These are on for-next. As far as I can tell lockdep is working, but I'm just
doing some simple boot tests.

Thanks!