This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [RFC -mm][PATCH 5/6] prepare kprobes code for x86 unification
- From: Srinivasa Ds <srinivasa at in dot ibm dot com>
- To: Masami Hiramatsu <mhiramat at redhat dot com>
- Cc: ananth at in dot ibm dot com, Jim Keniston <jkenisto at us dot ibm dot com>, Roland McGrath <roland at redhat dot com>, Arjan van de Ven <arjan at infradead dot org>, prasanna at in dot ibm dot com, anil dot s dot keshavamurthy at intel dot com, davem at davemloft dot net, systemtap-ml <systemtap at sources dot redhat dot com>
- Date: Wed, 12 Dec 2007 19:07:39 +0530
- Subject: Re: [RFC -mm][PATCH 5/6] prepare kprobes code for x86 unification
- References: <475DC362.9000707@redhat.com> <475E952F.90403@in.ibm.com> <475ECF7C.70503@redhat.com>
Masami Hiramatsu wrote:
Hi Srinivasa,
Thank you for reporting.
Srinivasa Ds wrote:
Hi Masami
I was testing your patch on x86_64 by executing systemtap tests. I got this oops message.
I ran systemtap testsuite on x86-64. But I could not reproduce it yet.
Would you apply all of these patches or just first 5 patches?
Yes, I applied all patches and then tested it.
Sure, I also tested it (stap -e 'probe kernel.function("init_sched_debug_procfs"){}')
but it could not cause oops.
By the way, as far as I can see, the current.stp does not probe "init_sched_debug_procfs".
So it could be caused by incorrect debuginfo...
I verified the debuginfo and then ran the test, but still I could able to reproduce the problem.
Unable to handle kernel paging request at ffffffff8086ccb3 RIP:
[<ffffffff804739c5>] arch_prepare_kprobe+0x22/0x217
PGD 203067 PUD 207063 PMD 7e0da163 PTE 86c000
Oops: 0000 [1] SMP
last sysfs file: /sys/module/stap_35adaae6e718a71673316d7b16a93286_356228/sections/.bss
CPU 1
Modules linked in: stap_35adaae6e718a71673316d7b16a93286_356228 systemtap_test_module1 systemtap_test_module2 ipv6 autofs4 hidp rfcomm l2cap bluetooth sunrpc dm_multipath video output sbs sbshc battery acpi_memhotplug ac power_supply lp sg tg3 ide_cd cdrom floppy serio_raw parport_pc button e752x_edac parport edac_core i2c_i801 shpchp i2c_core pcspkr dm_snapshot dm_zero dm_mirror dm_mod ata_piix libata aic79xx scsi_transport_spi sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd
Pid: 28478, comm: stapio Tainted: GF 2.6.24-rc4-mm1 #4
RIP: 0010:[<ffffffff804739c5>] [<ffffffff804739c5>] arch_prepare_kprobe+0x22/0x217
RSP: 0018:ffff810067055e48 EFLAGS: 00010286
RAX: ffffffff8086ccb3 RBX: ffffffff88464130 RCX: ffffffff8842af30
RDX: 0000000000000f30 RSI: 6600000000000000 RDI: ffffffff88464130
RBP: ffffffff88464130 R08: ffff81000d4d6000 R09: ffff81007f834000
R10: ffffffff8024bf9c R11: 0000000000000000 R12: 00000000000036b0
R13: 0000000000000000 R14: ffffffff8843b3b2 R15: 0000000000000000
FS: 00002aebec1e2b00(0000) GS:ffff81007fbac840(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[root@llm42 ~]# cat /proc/kallsyms | grep ffffffff8086ccb3
ffffffff8086ccb3 T migration_init
==================
[root@llm42 ~]# cat /root/linux-2.6.24-rc4/System.map | grep ffffffff8086ccb3
ffffffff8086ccb3 T migration_init
This time it was probing "__init migration_init" function in kernel/sched.c,I saw systemtap code
blacklisting all .init and .exit functions but still it failed.
I replaced all __init function in kernel/sched.c to __kprobes then
executed the tests successfully.
So may be problem is in naming the section of vmlinux properly.
Thanks
Srinivasa DS