| Commit message (Collapse) | Author | Files | Lines |
|
|
|
This partially reverts commit 1215fd4d9426a59d568560e9a485628560363133.
In order to support profiling of SMP locks and provide a future
compatible SMP locks API it is necessary to add an SMP lock destroy
function. Since the commit above adds an SMP lock to each chain control
we would have to add a rtems_chain_destroy() function as well. This
complicates the chain usage dramatically. Thus revert the patch above.
A global SMP lock for all chains is used to implement the protected
chain operations.
Advantages:
* The SAPI chain API is now identical on SMP and non-SMP
configurations.
* The size of the chain control is reduced and is then equal to the
Score chains.
* The protected chain operations work correctly on SMP.
Disadvantage:
* Applications using many different chains and the protected operations
may notice lock contention.
The chain control size drop is a huge benefit (SAPI chain controls are
66% larger than the Score chain controls). The only disadvantage is not
really a problem since these applications can use specific interrupt
locks and unprotected chain operations to avoid this issue.
|
|
Add ISR lock to chain control for proper SMP protection. Replace
rtems_chain_extract() with rtems_chain_explicit_extract() and
rtems_chain_insert() with rtems_chain_explicit_insert() on SMP
configurations. Use rtems_chain_explicit_extract() and
rtems_chain_explicit_insert() to provide SMP support.
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7959229
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
* posix/src/aio_cancel.c: Fixed ending of if braces.
2011-01-17 Alin Rus <alin.codejunkie@gmail.com>
* posix/src/aio_misc.c: Add debug information. Fixed idle_threads/
active_threads issues. Fixed infinite loop in rtems_aio_handle().
|
|
* posix/src/aio_misc.c: Fix rtems_aio_remove_req did not iterate
over chain.
* posix/src/aio_cancel.c: Add debug information. Add check for
bad file descriptor. Add else branch for cancel request on empty
IQ chain.
|
|
* posix/src/aio_cancel.c: Use perfd field not next_fd.
|
|
* posix/src/aio_cancel.c: Spray pthread_mutex_unlocks.
|
|
* posix/include/aio.h: Add LIO_SYNC.
* posix/include/rtems/posix/aio_misc.h: Add aio_request_queue,
Cosmetics.
* posix/src/aio_cancel.c, posix/src/aio_fsync.c, posix/src/aio_misc.c:
Rework.
|
|
|
|
* posix/Makefile.am, posix/src/clockgetcpuclockid.c,
posix/src/clockgetenableattr.c, posix/src/clockgettime.c,
posix/src/clocksetenableattr.c, posix/src/clocksettime.c,
posix/src/devctl.c, posix/src/execl.c, posix/src/execle.c,
posix/src/execlp.c, posix/src/execv.c, posix/src/execve.c,
posix/src/execvp.c, posix/src/fork.c, posix/src/mutexinit.c,
posix/src/pthreadatfork.c, posix/src/pthreadgetcpuclockid.c,
posix/src/pthreadkill.c, posix/src/semaphorecreatesupp.c,
posix/src/sysconf.c, posix/src/wait.c, posix/src/waitpid.c: Split
files into one function per file.
* posix/src/aio_cancel.c, posix/src/aio_error.c, posix/src/aio_fsync.c,
posix/src/aio_read.c, posix/src/aio_return.c,
posix/src/aio_suspend.c, posix/src/aio_write.c,
posix/src/lio_listio.c, posix/src/sched_getparam.c,
posix/src/sched_getprioritymax.c, posix/src/sched_getprioritymin.c,
posix/src/sched_getscheduler.c, posix/src/sched_rr_get_interval.c,
posix/src/sched_setparam.c, posix/src/sched_setscheduler.c,
posix/src/sched_yield.c: New files.
* posix/src/aio.c, posix/src/sched.c, posix/src/types.c: Removed.
|
|
* libcsupport/preinstall.am, posix/preinstall.am, posix/src/aio.c,
posix/src/clockgetcpuclockid.c, posix/src/clockgetenableattr.c,
posix/src/clockgettime.c, posix/src/clocksetenableattr.c,
posix/src/clocksettime.c, posix/src/devctl.c,
posix/src/pthreadcreate.c, posix/src/pthreadgetcpuclockid.c,
posix/src/types.c, rtems/preinstall.am, sapi/Makefile.am,
sapi/preinstall.am, score/Makefile.am, score/preinstall.am: Eliminate
POSIX_NOT_IMPLEMENTED(). Return ENOSYS instead.
|
|
|
|
* include/rtems/posix/cond.h, include/rtems/posix/condmp.h,
include/rtems/posix/config.h, include/rtems/posix/intr.h,
include/rtems/posix/key.h, include/rtems/posix/mqueue.h,
include/rtems/posix/mqueuemp.h, include/rtems/posix/mutex.h,
include/rtems/posix/mutexmp.h, include/rtems/posix/posixapi.h,
include/rtems/posix/pthread.h, include/rtems/posix/pthreadmp.h,
include/rtems/posix/ptimer.h, include/rtems/posix/semaphore.h,
include/rtems/posix/semaphoremp.h, inline/rtems/posix/cond.inl,
inline/rtems/posix/intr.inl, inline/rtems/posix/key.inl,
inline/rtems/posix/mqueue.inl, inline/rtems/posix/mutex.inl,
inline/rtems/posix/pthread.inl, inline/rtems/posix/semaphore.inl,
inline/rtems/posix/timer.inl, macros/rtems/posix/cond.inl,
macros/rtems/posix/intr.inl, macros/rtems/posix/key.inl,
macros/rtems/posix/mqueue.inl, macros/rtems/posix/mutex.inl,
macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl,
macros/rtems/posix/timer.inl, src/alarm.c, src/kill.c,
src/killinfo.c, src/mqueuetranslatereturncode.c, src/pause.c,
src/pthreadattrdestroy.c, src/pthreadattrgetdetachstate.c,
src/pthreadattrgetinheritsched.c, src/pthreadattrgetschedparam.c,
src/pthreadattrgetschedpolicy.c, src/pthreadattrgetscope.c,
src/pthreadattrgetstackaddr.c, src/pthreadattrgetstacksize.c,
src/pthreadattrinit.c, src/pthreadattrsetdetachstate.c,
src/pthreadattrsetinheritsched.c, src/pthreadattrsetschedparam.c,
src/pthreadattrsetschedpolicy.c, src/pthreadattrsetscope.c,
src/pthreadattrsetstackaddr.c, src/pthreadattrsetstacksize.c,
src/pthreadcreate.c, src/pthreaddetach.c, src/pthreadequal.c,
src/pthreadexit.c, src/pthreadgetcpuclockid.c,
src/pthreadgetcputime.c, src/pthreadgetschedparam.c,
src/pthreadjoin.c, src/pthreadkill.c, src/pthreadonce.c,
src/pthreadself.c, src/pthreadsetcputime.c,
src/pthreadsetschedparam.c, src/pthreadsigmask.c, src/sigaction.c,
src/sigaddset.c, src/sigdelset.c, src/sigemptyset.c,
src/sigfillset.c, src/sigismember.c, src/signal_2.c,
src/sigpending.c, src/sigprocmask.c, src/sigqueue.c,
src/sigsuspend.c, src/sigtimedwait.c, src/sigwait.c,
src/sigwaitinfo.c, src/ualarm.c: URL for license changed.
|
|
* configure.in: Add src/config.h
* src/Makefile.am: Add INCLUDES += -I. to pickup config.h
* src/.cvsignore: Add config.h and stamp-h
* src/*.c: Add config.h support.
|
|
* src/pthreadgetcpuclockid.c: Add include of <rtems/system.h> to
eliminate warning.
|
|
|
|
|
|
overhaul of the RTEMS system call interface. This base file system is
the "In-Memory File System" aka IMFS.
The design and implementation was done by the following people:
+ Joel Sherrill (joel@OARcorp.com)
+ Jennifer Averett (jennifer@OARcorp.com)
+ Steve "Mr Mount" Salitasc (salitasc@OARcorp.com)
+ Kerwin Wade (wade@OARcorp.com)
PROBLEMS
========
+ It is VERY likely that merging this will break the UNIX port. This
can/will be fixed.
+ There is likely some reentrancy/mutual exclusion needed.
+ Eventually, there should be a "mini-IMFS" description table to
eliminate links, symlinks, etc to save memory. All you need to
have "classic RTEMS" functionality is technically directories
and device IO. All the rest could be left out to save memory.
|
|
based on the GNU tools. This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
|
|
|
|
|
|
of switching to the modified GNU GPL.
|
|
|