diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1997-04-09 20:18:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1997-04-09 20:18:54 +0000 |
commit | fc7bc517db4a6b6b5cf0e0e4c829ee01b0cb32a5 (patch) | |
tree | ad4b85b59d644208f4cf74bc7f04a3d8a7bfc795 /cpukit/libmisc/cpuuse/README | |
parent | added rtmonuse and cpuuse directories (diff) | |
download | rtems-fc7bc517db4a6b6b5cf0e0e4c829ee01b0cb32a5.tar.bz2 |
new files.
Diffstat (limited to 'cpukit/libmisc/cpuuse/README')
-rw-r--r-- | cpukit/libmisc/cpuuse/README | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cpukit/libmisc/cpuuse/README b/cpukit/libmisc/cpuuse/README new file mode 100644 index 0000000000..e8a30006a1 --- /dev/null +++ b/cpukit/libmisc/cpuuse/README @@ -0,0 +1,41 @@ +# +# README,v 1.3 1995/12/19 20:13:47 joel Exp +# + +This directory contains a stack bounds checker. It provides two +primary features: + + + check for stack overflow at each context switch + + provides an educated guess at each task's stack usage + +The stack overflow check at context switch works by looking for +a 16 byte pattern at the logical end of the stack to be corrupted. +The "guesser" assumes that the entire stack was prefilled with a known +pattern and assumes that the pattern is still in place if the memory +has not been used as a stack. + +Both of these can be fooled by pushing large holes onto the stack +and not writing to them... or (much more unlikely) writing the +magic patterns into memory. + +This code has not been extensively tested. It is provided as a tool +for RTEMS users to catch the most common mistake in multitasking +systems ... too little stack space. Suggestions and comments are appreciated. + +NOTES: + +1. Stack usage information is questionable on CPUs which push + large holes on stack. + +2. The stack checker has a tendency to generate a fault when + trying to print the helpful diagnostic message. If it comes + out, congratulations. If not, then the variable Stack_check_Blown_task + contains a pointer to the TCB of the offending task. This + is usually enough to go on. + +FUTURE: + +1. Determine how/if gcc will generate stack probe calls and support that. + +2. Get accurate stack usage numbers on i960.. it pushes very large + holes on the stack. |