source: rtems/cpukit/libmisc/cpuuse/README @ 5e622a9

4.104.114.84.95
Last change on this file since 5e622a9 was 6f9c75c3, checked in by Joel Sherrill <joel.sherrill@…>, on 01/16/98 at 16:56:48

Ralf Corsepius reported a number of missing CVS Id's:

RTEMS is under CVS control and has been since rtems 3.1.16 which was
around May 1995. So I just to add the $Id$. If you notice other files
with missing $Id$'s let me know. I try to keep w\up with it.

Now that you have asked -- I'll attach a list of files lacking an RCS-Id to
this mail. This list has been generated by a little sh-script I'll also
enclose.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#
2#  $Id$
3#
4
5This directory contains a stack bounds checker.  It provides two
6primary features:
7
8   + check for stack overflow at each context switch
9   + provides an educated guess at each task's stack usage
10
11The stack overflow check at context switch works by looking for
12a 16 byte pattern at the logical end of the stack to be corrupted.
13The "guesser" assumes that the entire stack was prefilled with a known
14pattern and assumes that the pattern is still in place if the memory
15has not been used as a stack.
16
17Both of these can be fooled by pushing large holes onto the stack
18and not writing to them... or (much more unlikely) writing the
19magic patterns into memory.
20
21This code has not been extensively tested.  It is provided as a tool
22for RTEMS users to catch the most common mistake in multitasking
23systems ... too little stack space.  Suggestions and comments are appreciated.
24
25NOTES:
26
271.  Stack usage information is questionable on CPUs which push
28    large holes on stack.
29
302.  The stack checker has a tendency to generate a fault when
31    trying to print the helpful diagnostic message.  If it comes
32    out, congratulations. If not, then the variable Stack_check_Blown_task
33    contains a pointer to the TCB of the offending task.  This
34    is usually enough to go on.
35
36FUTURE:
37
381.  Determine how/if gcc will generate stack probe calls and support that.
39
402.  Get accurate stack usage numbers on i960.. it pushes very large
41    holes on the stack.
Note: See TracBrowser for help on using the repository browser.