From a5e47bcafd33182b7c2e4f6a28b9dc4b00800084 Mon Sep 17 00:00:00 2001 From: zhaolei Date: Tue, 9 Oct 2007 06:15:04 +0000 Subject: 2007-10-09 Zhaolei * queue_stats.stp (qsq_start): Add destruction for qs_utime. --- tapset/ChangeLog | 4 ++++ tapset/queue_stats.stp | 1 + 2 files changed, 5 insertions(+) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index b325a627..d5846322 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,7 @@ +2007-10-09 Zhaolei + + * queue_stats.stp (qsq_start): Add destruction for qs_utime. + 2007-10-09 Zhaolei From Cai Fei diff --git a/tapset/queue_stats.stp b/tapset/queue_stats.stp index 75407fee..9d89903c 100644 --- a/tapset/queue_stats.stp +++ b/tapset/queue_stats.stp @@ -59,6 +59,7 @@ function qsq_start (qname) { # reset statistics for new baseline delete qs_wtime[qname] delete qs_wlentime[qname] delete qs_dcount[qname] + delete qs_utime[qname] qs_stime[qname] = qs_time () } -- cgit From a6053c5b3f42ef0e016df9074ebc75c93a79d544 Mon Sep 17 00:00:00 2001 From: hunt Date: Tue, 9 Oct 2007 13:28:09 +0000 Subject: 2007-10-09 Martin Hunt * syscalls2.stp (sys_signal): Call _sighandler_str(). * aux_syscalls.stp (_stp_sigset_str): Don't include SIG_0. (_sighandler_str): New. --- tapset/ChangeLog | 9 +++++++++ tapset/aux_syscalls.stp | 13 ++++++++++++- tapset/syscalls2.stp | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index d5846322..3a0afe3b 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,12 @@ +2007-10-09 Martin Hunt + + * syscalls2.stp (sys_signal): Call + _sighandler_str(). + + * aux_syscalls.stp (_stp_sigset_str): Don't + include SIG_0. + (_sighandler_str): New. + 2007-10-09 Zhaolei * queue_stats.stp (qsq_start): Add destruction for qs_utime. diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 3818ae75..aa3e078e 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1587,7 +1587,7 @@ void _stp_sigset_str(sigset_t *mask, char *ptr, int len) const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { - if (sigismember(mask, array[i].val)) { + if (array[i].val && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); @@ -1785,6 +1785,17 @@ function get_mmap_args:string (args:long) strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN); %} + +function _sighandler_str:string(uaddr:long) +%{ /* pure */ + static const _stp_val_array const _stp_sa_handler_list[] = { + {0, "SIG_DFL"}, + {1, "SIG_IGN"}, + {0, NULL} + }; + _stp_lookup_str(_stp_sa_handler_list, (long)THIS->uaddr, THIS->__retvalue, MAXSTRINGLEN); +%} + function _struct_sigaction_u:string(uaddr:long) %{ /* pure */ static const _stp_val_array const _stp_sa_handler_list[] = { diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index acb2c137..e702bbcd 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -2122,7 +2122,7 @@ probe syscall.signal = kernel.function("sys_signal") ? { name = "signal" sig = $sig handler = $handler - argstr = sprintf("%s, %p", _signal_name($sig), $handler) + argstr = sprintf("%s, %s", _signal_name($sig), _sighandler_str($handler)) } probe syscall.signal.return = kernel.function("sys_signal").return ? { name = "signal" -- cgit From 0b82b290bdff52527486d1e69150484e4925baf0 Mon Sep 17 00:00:00 2001 From: hunt Date: Tue, 9 Oct 2007 18:00:16 +0000 Subject: 2007-10-09 Martin Hunt PR5153 * aux_syscalls.stp (_sighandler_str): No sa_restorer field for IA64. --- tapset/ChangeLog | 5 +++++ tapset/aux_syscalls.stp | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 3a0afe3b..7f15e61b 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,5 +1,10 @@ 2007-10-09 Martin Hunt + PR5153 + * aux_syscalls.stp (_sighandler_str): No + sa_restorer field for IA64. +2007-10-09 Martin Hunt + * syscalls2.stp (sys_signal): Call _sighandler_str(). diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index aa3e078e..6d6fa311 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1829,8 +1829,12 @@ function _struct_sigaction_u:string(uaddr:long) strlcat (THIS->__retvalue, ", ", MAXSTRINGLEN); _stp_lookup_or_str(_stp_sa_flags_list, act.sa_flags, THIS->__retvalue, MAXSTRINGLEN); strlcat (THIS->__retvalue, ", ", MAXSTRINGLEN); +#if !defined (__ia64__) len = strlen(THIS->__retvalue); _stp_snprintf(THIS->__retvalue + len, MAXSTRINGLEN - len, "0x%lx, [", (long)act.sa_restorer); +#else + strlcat (THIS->__retvalue, "[", MAXSTRINGLEN); +#endif _stp_sigset_str(&act.sa_mask, THIS->__retvalue, MAXSTRINGLEN); strlcat (THIS->__retvalue, "]", MAXSTRINGLEN); } -- cgit From 2849dc38aee8dfb61731d5824e0c6a48197709af Mon Sep 17 00:00:00 2001 From: mmason Date: Tue, 9 Oct 2007 18:05:54 +0000 Subject: rpc.stp: Replaced atomic_read()'s with kread()'s --- tapset/ChangeLog | 4 ++++ tapset/rpc.stp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 7f15e61b..769d9ca3 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,7 @@ +2007-10-09 Mike Mason + + * rpc.stp: Replaced atomic_read()'s with kread()'s + 2007-10-09 Martin Hunt PR5153 * aux_syscalls.stp (_sighandler_str): No diff --git a/tapset/rpc.stp b/tapset/rpc.stp index 3d17d221..eecdb796 100644 --- a/tapset/rpc.stp +++ b/tapset/rpc.stp @@ -948,7 +948,7 @@ function clones_from_clnt:long(clnt:long) %{ /* pure */ struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt; #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,22) - THIS->__retvalue = atomic_read(&clnt->cl_count); /* FIXME: deref hazard! */ + THIS->__retvalue = kread(&(clnt->cl_count)); #else THIS->__retvalue = -1; #endif @@ -958,7 +958,7 @@ function tasks_from_clnt:long(clnt:long) %{ /* pure */ struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt; #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,22) - THIS->__retvalue = atomic_read(&clnt->cl_users); /* FIXME: deref hazard! */ + THIS->__retvalue = kread(&(clnt->cl_users)); #else THIS->__retvalue = -1; #endif -- cgit From 8e67a997469cfdc08db58a214612f63dd6e8ebab Mon Sep 17 00:00:00 2001 From: zhaolei Date: Tue, 9 Oct 2007 23:52:54 +0000 Subject: 2007-10-10 Zhaolei From Lai Jiangshan * aux_syscalls.stp (_stp_lookup_or_str) redirect to _stp_lookup_str if val is 0. --- tapset/ChangeLog | 6 ++++++ tapset/aux_syscalls.stp | 4 ++++ 2 files changed, 10 insertions(+) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 769d9ca3..870ca61c 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,9 @@ +2007-10-10 Zhaolei + + From Lai Jiangshan + * aux_syscalls.stp (_stp_lookup_or_str) redirect to _stp_lookup_str + if val is 0. + 2007-10-09 Mike Mason * rpc.stp: Replaced atomic_read()'s with kread()'s diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 6d6fa311..08018ad2 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1533,6 +1533,10 @@ void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, in void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { int i = 0, flag = 0; + if (val == 0) { + _stp_lookup_str(array, val, ptr, len); + return; + } while (array[i].name) { if (array[i].val & val) { if (flag) -- cgit From d319669c3f77a3e451f1cad845471433e6d0dbfa Mon Sep 17 00:00:00 2001 From: hunt Date: Wed, 10 Oct 2007 14:12:13 +0000 Subject: 2007-10-10 Martin Hunt * aux_syscalls.stp (_stp_lookup_str): When defaulting to a numeric value, append, don't overwrite. --- tapset/ChangeLog | 5 +++++ tapset/aux_syscalls.stp | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'tapset') diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 870ca61c..287b0823 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,8 @@ +2007-10-10 Martin Hunt + + * aux_syscalls.stp (_stp_lookup_str): When defaulting + to a numeric value, append, don't overwrite. + 2007-10-10 Zhaolei From Lai Jiangshan diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 08018ad2..05c7dc98 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1520,7 +1520,7 @@ typedef struct { void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { - int i = 0; + int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); @@ -1528,15 +1528,18 @@ void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, in } i++; } - snprintf(ptr, len, "0x%lx", val); + slen = strlen(ptr); + _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { int i = 0, flag = 0; + if (val == 0) { _stp_lookup_str(array, val, ptr, len); return; } + while (array[i].name) { if (array[i].val & val) { if (flag) -- cgit