This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Making the transport layer more robust


Hi,

These changes are relevant to http://sources.redhat.com/ml/systemtap/2011-q1/msg00179.html where we were trying to list the source/rate of recurrent wake-ups in the tool, that would "damage" Power Management activities on ARM (we use systemtap 80% profiling/20% debug)

So there can be some interest in sharing some thoughts on this as this impacts PM related to control channel:

- before changes:
* userspace (staprun/mainloop.c): we poll "control channel" (cmd channel) through non blocking read every 250ms
* kernel space (transport/control.c):
   + we periodically check for IO (_stp_ctl_ready_q not empty) or exit, through timer (used to be work queue)
   + periodic check for IO is in fact for cmd messages that don't announce themselves (STP_OOB_DATA for ex), i.e. are not allowed to wake-up "control wait queue" after we update _stp_ctl_ready_q. Other cmd messages would not need this check.

However, polling in both spaces looked redundant (we had not seen the "exit" at that time) so we have experimented first to set userspace polling to 2s and removed kernel space polling: tool runs fine but at next start, it needs to unload module before reloading it ("exit" issue)

=> long polling delay works OK, kernel periodic check for IO seems redundant with userspace but kernel polling for exit is needed


- after changes:
* userspace: we use "pselect" if supported. Great !
* kernel space:
   + polling for exit is still needed
   + polling for IO:
      * for cmd messages that don't announce themselves -> now mandatory otherwise pselect() would not return
      * for other cmd messages, it still does not look needed but there is no added value in differentiating them from above messages as we must do polling

=> we will experiment with this version playing only with the delay between 2 pollings (STP_CTL_TIMER_INTERVAL)


This will be a good occasion to reopen the PM topic with more experience from usage

Regards
Fred

Frederic Turgis
OMAP Platform Business Unit - OMAP System Engineering - Platform Enablement



Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 036 420 040 R.C.S Antibes. Capital de EUR 753.920




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]