From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10579 invoked by alias); 12 May 2009 18:20:01 -0000 Received: (qmail 10555 invoked by uid 22791); 12 May 2009 18:20:01 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 May 2009 18:19:54 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n4CIJqjC004692; Tue, 12 May 2009 14:19:52 -0400 Received: from gateway.sf.frob.com (vpn-13-141.rdu.redhat.com [10.11.13.141]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n4CIJpao025901; Tue, 12 May 2009 14:19:51 -0400 Received: from magilla.sf.frob.com (magilla.sf.frob.com [198.49.250.228]) by gateway.sf.frob.com (Postfix) with ESMTP id 50CA5357B; Tue, 12 May 2009 11:19:50 -0700 (PDT) Received: by magilla.sf.frob.com (Postfix, from userid 5281) id 19BCCFC35D; Tue, 12 May 2009 11:19:50 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: David Smith Cc: Maynard Johnson , systemtap@sourceware.org, "Frank Ch. Eigler" Subject: Re: Backward compatibility for insn probe point In-Reply-To: David Smith's message of Tuesday, 12 May 2009 11:06:03 -0500 <4A099E6B.8090501@redhat.com> References: <49D3E3DF.1000108@us.ibm.com> <49F61D09.8090503@redhat.com> <49F8C1C0.8070208@us.ibm.com> <49F9E71D.2070500@redhat.com> <20090430203302.5FFA0FC3BF@magilla.sf.frob.com> <4A099E6B.8090501@redhat.com> Message-Id: <20090512181950.19BCCFC35D@magilla.sf.frob.com> Date: Tue, 12 May 2009 18:20:00 -0000 X-IsSubscribed: yes 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: 2009-q2/txt/msg00564.txt.bz2 Ok, that is on the verge of ringing a bell. The single-step trap hit resets the single-step bit in the registers (arch/powerpc/kernel/traps.c:single_step_exception). That needs to be turned on again before resuming. The only place that this happens is utrace_quiescent->tracehook_enable_single_step. You should get there via check_quiescent after each event report when UTRACE_ACTION_STATE_* is set. It makes sense that ptrace does not see the same problem. It always stops after each step trap, so it surely goes into utrace_quiescent to stop; there it will properly re-enable stepping when it gets resumed. In the itrace scenario, you don't stop, so it's only the (apparently broken) bookkeeping that should ensure you get there. In a reporting loop, update_action should be keeping UTRACE_ACTION_SINGLESTEP in its return value, so that check_quiescent see it and calls utrace_quiescent. You can see if some of that is going wrong. (This is all entirely different in modern utrace.) Thanks, Roland