4.104.114.84.95
Last change
on this file since 594a413 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 | |
---|
5 | This directory contains a stack bounds checker. It provides two |
---|
6 | primary features: |
---|
7 | |
---|
8 | + check for stack overflow at each context switch |
---|
9 | + provides an educated guess at each task's stack usage |
---|
10 | |
---|
11 | The stack overflow check at context switch works by looking for |
---|
12 | a 16 byte pattern at the logical end of the stack to be corrupted. |
---|
13 | The "guesser" assumes that the entire stack was prefilled with a known |
---|
14 | pattern and assumes that the pattern is still in place if the memory |
---|
15 | has not been used as a stack. |
---|
16 | |
---|
17 | Both of these can be fooled by pushing large holes onto the stack |
---|
18 | and not writing to them... or (much more unlikely) writing the |
---|
19 | magic patterns into memory. |
---|
20 | |
---|
21 | This code has not been extensively tested. It is provided as a tool |
---|
22 | for RTEMS users to catch the most common mistake in multitasking |
---|
23 | systems ... too little stack space. Suggestions and comments are appreciated. |
---|
24 | |
---|
25 | NOTES: |
---|
26 | |
---|
27 | 1. Stack usage information is questionable on CPUs which push |
---|
28 | large holes on stack. |
---|
29 | |
---|
30 | 2. 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 | |
---|
36 | FUTURE: |
---|
37 | |
---|
38 | 1. Determine how/if gcc will generate stack probe calls and support that. |
---|
39 | |
---|
40 | 2. 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.