# stap -v -p4 -e "probe begin {}"
Pass 4 is giving an error, odd that it did not show up in the test
log. Here it is:
[....]
mp/stapuYgXg9/.tmp_stap_9001.o /tmp/stapuYgXg9/stap_9001.c
In file included from /usr/local/share/systemtap/runtime/runtime.h:79,
from /tmp/stapuYgXg9/stap_9001.c:31:
/usr/local/share/systemtap/runtime/alloc.c:66: error: expected
declaration specifiers or '...' before '(' token
/usr/local/share/systemtap/runtime/alloc.c: In function 'percpu_free':
/usr/local/share/systemtap/runtime/alloc.c:67: error: number of
arguments doesn't match prototype
include/linux/percpu.h:51: error: prototype declaration
[...]
From runtime/alloc.c
[...]
#ifdef CONFIG_SMP
[...]
66: void _stp_free_percpu(const void *objp)
{
int i;
struct percpu_data *p = (struct percpu_data *) (~(unsigned
long) objp);
for_each_cpu(i)
kfree(p->ptrs[i]);
kfree(p);
}
But earler in alloc.c _stp_free_percpu() is defined:
#ifdef CONFIG_SMP
#define _stp_free_percpu(ptr) free_percpu(ptr)
#else
#define _stp_free_percpu(ptr) kfree(ptr)
#endif
I think the #ifdefs are messed up. Both defines are under CONFIG_SMP.
If I comment out the first defines it works better, but I am still
net seeing the
"using cached " message.