This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Making the transport layer more robust
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 <mjw@redhat.com>
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