| Commit message (Collapse) | Author | Files | Lines |
|
|
|
* include/rtems/score/thread.h, inline/rtems/score/thread.inl,
src/threaddispatch.c, src/threadinitialize.c:
Move the C library re-enterrant support directly into
the thread dispatch code. RTEMS needs libc and so requiring
libc to use a user extension with its overhead is not the best
solution. This patch lowers the overhead to 2 pointer moves.
|
|
* src/threadinitialize.c: Per PR181, clear the array of user extension
pointers. This lets user extensions that have hooked the switch handler
know if a task has been processed by the user extension before. If a
user extension is created after a task is started it may not know it.
|
|
* src/threadinitialize.c: Fix my bad hack of Ralf's fp_area
warning removal patch. :(
|
|
* src/threadinitialize.c: Removed warning.
|
|
a BSP (c4xsim) supporting the simulator included with gdb. This port
was done by Joel Sherrill and Jennifer Averett of OAR Corporation.
Also included with this port is a space/time optimization to eliminate
FP context switch management on CPUs without hardware or software FP.
An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8)
on this CPU. This required addressing alignment checks and assumptions
as well as fixing code that assumed sizeof(unsigned32) == 4.
|
|
|
|
|
|
Working Group. Included are tests.
|
|
Problem: a posix thread which is created by
pthread_attr_init(&tattr);
pthread_attr_setinheritsched(&tattr, PTHREAD_EXPLICIT_SCHED);
pthread_attr_setschedpolicy(&tattr, SCHED_RR);
pthread_create(&th, &tattr, func, arg);
has a first timeslice of 2^32 ticks (changing a running thread to
SCHED_RR id ok).
I use RTEMS-4.0.0. I am not sure if the problem exists in the current CVS
head revision. If it's not fixed, the patch at the end should do it.
Peter
--- pthreadcreate.c.orig Wed Jul 28 14:45:58 1999
+++ pthreadcreate.c Wed Jul 28 15:06:09 1999
@@ -199,6 +199,10 @@
api->schedpolicy = schedpolicy;
api->schedparam = schedparam;
+ if ( schedpolicy == SCHED_RR ) {
+ the_thread->cpu_time_budget = _Thread_Ticks_per_timeslice;
+ }
+
/*
* This insures we evaluate the process-wide signals pending when we
* first run.
|
|
split into one function per file, this will decrease the size of executables.
|