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: MAXACTION exceeded error while using systemtap


Marcelo Tosatti writes:
 > On Thu, Dec 08, 2005 at 08:57:46AM -0500, Frank Ch. Eigler wrote:
 > > Hi -
 > > 
 > > jamesd.wi wrote:
 > > 
 > > > [...]  perhaps you two, should look at how your neighbor DTrace
 > > > deals with this issue. It seems to work pretty well.
 > > 
 > > Their situation is a little simpler because the language forbids
 > > looping and recursion, so the individual handler run times are already
 > > statically bounded.
 > > 
 > > 
 > > > [...]  btw MAXACTION really can't work reliably what happens when
 > > > the box is underload, say with 4 gigabit nics all being flooded with
 > > > data, and you are probing a function in the fast path?
 > > 
 > > Yes, this is a good point.  A system-level watchdog would be useful.
 > > 
 > > 
 > > > P.S. I would recomend the members of this list subscribe to the
 > > > dtrace-discuss list on www.opensolaris.org, its a low traffic list,
 > > > but they do discuss issues you will face as you proceed. I can
 > > > assure that the dtrace programers monitor your mailing list.
 > > 
 > > Good point.  Welcome all, and feel free to delurk.
 > 
 > Hi folks,
 > 
 > I think that SystemTap needs some method to periodically (or when memory
 > pressure arrives) dump the parts of the array to userspace via
 > relayfs.

See my previous reply for one way you could do this i.e. the
kmalloc-stacks example.

 > 
 > relayfs already supports such mechanism with its "sub-buffer" structure,
 > where the userspace reader is allowed to read full buffers (thus freeing
 > them afterwards) while the hooks continue to push data to empty or
 > partially filled buffers.
 > 
 > James mentions that
 > 
 > "btw MAXACTION really can't work reliably what happens when the box is
 > underload, say with 4 gigabit nics all being flooded with data, and
 > you are probing a function in the fast path?
 > 
 > Not everyone has a box that can sum 4 billion numbers in less than a minute."
 > 
 > relayfs works in two modes once its memory pool is full:
 > 
 > - panic's 
 > - drops new entries
 > 
 > I imagine that by using relayfs to send data to userspace one should
 > automatically get those very important features.

I'm not sure what you mean - relayfs can be used in either 'overwrite'
or 'no-overwrite' modes; if its memory pool is full, 'overwrite' mode
overwrites the oldest entries, while 'no-overwrite' mode drops new
entries - there should be no 'panic's' anywhere in there.  ;-)

Tom



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