[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEr6+ECw=5JwuQ1h1KEhm82X_UGRRSCQS0munwJ94o=ht1NSiw@mail.gmail.com>
Date: Fri, 28 Apr 2023 19:05:22 +0800
From: Jeff Xie <xiehuan09@...il.com>
To: Tiezhu Yang <yangtiezhu@...ngson.cn>
Cc: Huacai Chen <chenhuacai@...nel.org>,
WANG Xuerui <kernel@...0n.name>, loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org, loongson-kernel@...ts.loongnix.cn
Subject: Re: [PATCH v3 0/6] Add uprobes support for LoongArch
Hi Tiezhu,
I have tested the uprobe patchset and found that:
# perf probe -x /lib/libc.so.6 malloc
# perf record -e probe_libc:malloc -aR sleep 30
Then the OS will hang forever and the problem can always be reproduced.
On Wed, Apr 19, 2023 at 6:10 PM Tiezhu Yang <yangtiezhu@...ngson.cn> wrote:
>
> v3:
> -- Check atomic instructions in insns_not_supported()
> -- Remove five DIE_* definitions in kdebug.h
>
> v2:
> -- Move the functions to inst.c in patch #1
> -- Pass around union for insns_not_supported(),
> insns_need_simulation() and arch_simulate_insn()
>
> v1:
> -- Split the RFC patch #2 into two patches
> -- Use larch_insn_gen_break() to generate break insns
> for kprobes and uprobes
> -- Pass around instruction word instead of union for
> insns_not_supported(), insns_need_simulation() and
> arch_simulate_insn() to avoid type conversion for callers
> -- Add a simple test case for uprobes in the commit message
>
> Tiezhu Yang (6):
> LoongArch: Move three functions from kprobes.c to inst.c
> LoongArch: Add larch_insn_gen_break() to generate break insns
> LoongArch: Use larch_insn_gen_break() for kprobes
> LoongArch: Add uprobes support
> LoongArch: Check atomic instructions in insns_not_supported()
> LoongArch: Remove five DIE_* definitions in kdebug.h
>
> arch/loongarch/Kconfig | 3 +
> arch/loongarch/include/asm/inst.h | 42 ++++++++++
> arch/loongarch/include/asm/kdebug.h | 5 --
> arch/loongarch/include/asm/kprobes.h | 2 +-
> arch/loongarch/include/asm/uprobes.h | 36 +++++++++
> arch/loongarch/kernel/Makefile | 1 +
> arch/loongarch/kernel/inst.c | 54 +++++++++++++
> arch/loongarch/kernel/kprobes.c | 75 ++++--------------
> arch/loongarch/kernel/traps.c | 9 +--
> arch/loongarch/kernel/uprobes.c | 143 +++++++++++++++++++++++++++++++++++
> 10 files changed, 298 insertions(+), 72 deletions(-)
> create mode 100644 arch/loongarch/include/asm/uprobes.h
> create mode 100644 arch/loongarch/kernel/uprobes.c
>
> --
> 2.1.0
>
--
Thanks,
JeffXie
Powered by blists - more mailing lists