mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Fix for RUTX platform
This commit is contained in:
parent
ccdb64ad45
commit
59bc57d5d5
7254 changed files with 1810270 additions and 7 deletions
53
root/package/utils/sysupgrade-helper/src/doc/README.sched
Normal file
53
root/package/utils/sysupgrade-helper/src/doc/README.sched
Normal file
|
@ -0,0 +1,53 @@
|
|||
Notes on the scheduler in sched.c:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
'sched.c' provides an very simplistic multi-threading scheduler.
|
||||
See the example, function 'sched(...)', in the same file for its
|
||||
API usage.
|
||||
|
||||
Until an exhaustive testing can be done, the implementation cannot
|
||||
qualify as that of production quality. It works with the example
|
||||
in 'sched.c', it may or may not work in other cases.
|
||||
|
||||
|
||||
Limitations:
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- There are NO primitives for thread synchronization (locking,
|
||||
notify etc).
|
||||
|
||||
- Only the GPRs and FPRs context is saved during a thread context
|
||||
switch. Other registers on the PowerPC processor (60x, 7xx, 7xxx
|
||||
etc) are NOT saved.
|
||||
|
||||
- The scheduler is NOT transparent to the user. The user
|
||||
applications must invoke thread_yield() to allow other threads to
|
||||
scheduler.
|
||||
|
||||
- There are NO priorities, and the scheduling policy is round-robin
|
||||
based.
|
||||
|
||||
- There are NO capabilities to collect thread CPU usage, scheduler
|
||||
stats, thread status etc.
|
||||
|
||||
- The semantics are somewhat based on those of pthreads, but NOT
|
||||
the same.
|
||||
|
||||
- Only seven threads are allowed. These can be easily increased by
|
||||
changing "#define MAX_THREADS" depending on the available memory.
|
||||
|
||||
- The stack size of each thread is 8KBytes. This can be easily
|
||||
increased depending on the requirement and the available memory,
|
||||
by increasing "#define STK_SIZE".
|
||||
|
||||
- Only one master/parent thread is allowed, and it cannot be
|
||||
stopped or deleted. Any given thread is NOT allowed to stop or
|
||||
delete itself.
|
||||
|
||||
- There NOT enough safety checks as are probably in the other
|
||||
threads implementations.
|
||||
|
||||
- There is no parent-child relationship between threads. Only one
|
||||
thread may thread_join, preferably the master/parent thread.
|
||||
|
||||
(C) 2003 Arun Dharankar <ADharankar@ATTBI.Com>
|
Loading…
Add table
Add a link
Reference in a new issue