From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25781 invoked by alias); 12 Aug 2011 17:43:47 -0000 Received: (qmail 25772 invoked by uid 22791); 12 Aug 2011 17:43:46 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Aug 2011 17:43:27 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p7CHhRBP009639 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 12 Aug 2011 13:43:27 -0400 Received: from hermans.wildebeest.org (ovpn-113-32.phx2.redhat.com [10.3.113.32]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p7CHhPwC028938 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 12 Aug 2011 13:43:26 -0400 Received: by hermans.wildebeest.org (Postfix, from userid 500) id D74FF346164; Fri, 12 Aug 2011 19:43:24 +0200 (CEST) Date: Fri, 12 Aug 2011 17:43:00 -0000 From: Mark Wielaard To: systemtap@sourceware.org Subject: Re: Making the transport layer more robust Message-ID: <20110812174324.GA1394@hermans.wildebeest.org> References: <1311065908.9144.27.camel@springer.wildebeest.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1311065908.9144.27.camel@springer.wildebeest.org> User-Agent: Mutt/1.5.21 (2010-09-15) 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-q3/txt/msg00156.txt.bz2 On Tue, Jul 19, 2011 at 10:58:28AM +0200, Mark Wielaard wrote: > I hope that after the next release I can cleanup the transport layer a > bit more. In particular I think we should really get rid of the > difference between _stp_ctl_send and _stp_ctl_write, which leads to > needing an extra timer just to flush the messages from the queue (and > check for the exit condition). If we can replace that logic with just a > wait queue based trigger then the code could become a little simpler. > The extra timer triggers made analyzing the above two bugs that much > harder. I finally did this: commit 46ac9ed5bad86641e552bee4e42a2d973ffc12d0 Author: Mark Wielaard Date: Fri Aug 12 19:34:20 2011 +0200 Remove _stp_ctl_work_timer from module transport layer. The _stp_ctl_work_timer would trigger every 20ms to check whether there were cmd messages queued, but not announced yet and to check the _stp_exit_flag was set. This commit makes all control messages announce themselves and check the _stp_exit_flag in the _stp_ctl_read_cmd loop (delivery is still possibly delayed since the messages are just pushed on a wait queue). Tested on f14, rhel5 and rhel4 without any regressions in make installcheck. Cheers, Mark