From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8008 invoked by alias); 13 Dec 2011 22:29:29 -0000 Received: (qmail 7999 invoked by uid 22791); 13 Dec 2011 22:29:28 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_IV,TW_NV,TW_QA X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 13 Dec 2011 22:29:13 +0000 From: "dsmith at redhat dot com" To: systemtap@sourceware.org Subject: [Bug tapsets/12413] kprocess.* support PIDs but not TIDs Date: Tue, 13 Dec 2011 22:29:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: tapsets X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dsmith at redhat dot com X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status CC Resolution Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2011-q4/txt/msg00352.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=12413 David Smith changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |dsmith at redhat dot com Resolution|FIXED | --- Comment #2 from David Smith 2011-12-13 22:28:11 UTC --- It looks like this fix doesn't work (and we didn't notice until now since the build testcase wasn't updated to include the new variables): # stap -L 'kprocess.release' semantic error: unable to find member 'tid' for struct task_struct (alternatives: state stack usage flags ptrace lock_depth prio static_prio normal_prio rt_priority sched_class se rt preempt_notifiers fpu_counter btrace_seq policy cpus_allowed sched_info tasks pushable_tasks mm active_mm exit_state exit_code exit_signal pdeath_signal personality did_exec in_execve in_iowait sched_reset_on_fork pid tgid stack_canary real_parent parent children sibling group_leader ptraced ptrace_entry pids thread_group vfork_done set_child_tid clear_child_tid utime stime utimescaled stimescaled gtime prev_utime prev_stime nvcsw nivcsw start_time real_start_time min_flt maj_flt cputime_expires cpu_timers real_cred cred cred_guard_mutex replacement_session_keyring comm link_count total_link_count sysvsem last_switch_count thread fs files nsproxy signal sighand blocked real_blocked saved_sigmask pending sas_ss_sp sas_ss_size notifier notifier_data notifier_mask audit_context loginuid sessionid seccomp utrace utrace_flags parent_exec_id self_exec_id alloc_lock irqaction pi_lock pi_waiters pi_blocked_on blocked_on irq_events hardirqs_enabled hardirq_enable_ip hardirq_enable_event hardirq_disable_ip hardirq_disable_event softirqs_enabled softirq_disable_ip softirq_disable_event softirq_enable_ip softirq_enable_event hardirq_context softirq_context curr_chain_key lockdep_depth lockdep_recursion held_locks lockdep_reclaim_gfp journal_info bio_list bio_tail reclaim_state backing_dev_info io_context ptrace_message last_siginfo ioac acct_rss_mem1 acct_vm_mem1 acct_timexpd mems_allowed cpuset_mem_spread_rotor cpuset_slab_spread_rotor mems_allowed_change_disable cgroups cg_list robust_list compat_robust_list pi_state_list pi_state_cache __reserved_perf__ perf_event_mutex perf_event_list mempolicy il_next fs_excl rcu splice_pipe delays make_it_fail dirties latency_record_count latency_record timer_slack_ns default_timer_slack_ns scm_work_list curr_ret_stack ret_stack ftrace_timestamp trace_overrun tracing_graph_pause trace trace_recursion rh_reserved perf_event_ctxp): operator '->' at /usr/local/share/systemtap/tapset/kprocess.stp:120:22 source: released_tid = $p->tid; ^ semantic error: unresolved type : identifier 'released_tid' at :120:5 source: released_tid = $p->tid; ^ kprocess.release task:long pid:long released_pid:long released_tid:unknown $p:struct task_struct* I'm thinking: ========= probe kprocess.release = kernel.function("release_task") { task = $p pid = $p->pid; released_pid = $p->pid; released_tid = $p->tid; } ========= Should be changed to: ========= probe kprocess.release = kernel.function("release_task") { task = $p pid = task_pid($p) released_pid = task_pid($p) released_tid = task_tid($p) } ========= We also might think about really deprecating 'pid' (since 'released_pid' seems to replace it). We'll also need the testcase updated. Does the above look reasonable? -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.