This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
FW: [RFC PATCH 2/3] Djprobe improvement patches (Re: Dynamic djprobe)
- From: "Keshavamurthy, Anil S" <anil dot s dot keshavamurthy at intel dot com>
- To: <systemtap at sources dot redhat dot com>
- Date: Tue, 2 Aug 2005 10:58:25 -0700
- Subject: FW: [RFC PATCH 2/3] Djprobe improvement patches (Re: Dynamic djprobe)
[Forwarding to systemtap as my original mail did not make it to
systemtap]
-----Original Message-----
From: Keshavamurthy, Anil S
Sent: Tuesday, August 02, 2005 10:54 AM
To: Masami Hiramatsu
Cc: systemtap@sources.redhat.com; Keshavamurthy, Anil S; Roland McGrath;
Richard J Moore; Andi Kleen; michel.dagenais@polymtl.ca; Mathieu
Desnoyers; Frank Ch. Eigler; Karim Yaghmour; Satoshi Oshima; Hideo Aoki;
Yumiko Sugita
Subject: Re: [RFC PATCH 2/3] Djprobe improvement patches (Re: Dynamic
djprobe)
On Wed, Aug 03, 2005 at 02:07:38AM +0900, Masami Hiramatsu wrote:
> diff -Narup linux-2.6.12-djprobe.2/arch/i386/kernel/kprobes.c
linux-2.6.12-djprobe.3/arch/i386/kernel/kprobes.c
> --- linux-2.6.12-djprobe.2/arch/i386/kernel/kprobes.c 2005-08-01
22:00:17.000000000 +0900
> +++ linux-2.6.12-djprobe.3/arch/i386/kernel/kprobes.c 2005-08-02
20:30:10.000000000 +0900
> @@ -497,7 +497,7 @@ int djprobe_bypass_handler(struct kprobe
> kprobe_opcode_t *stub = djpi->stub.insn;
> int cpu = smp_processor_id();
>
> - if (!DJPI_CHECKED(djpi)) {
> + if (!DJPI_CHECKED(djpi) && check_safety_djprobe_instance(djpi))
{
> cpu_set(cpu, djpi->checked_cpus); /* check this cpu */
>
> if (DJPI_CHECKED(djpi)) { /* all cpus are checked */
Still you are assuming that all CPU's to enter djprobe_bypass_handler()
which is incorrct. Please fix this logic.
thanks,
-Anil