Replace RTEMS objects with custom implementation

Performance analysis revealed that the standard RTEMS objects are a
major bottleneck.  The object get mechanism and attribute checks at
runtime have a significant overhead.  Use a custom implementation for
synchronization primitives.  This drops also the size of the
synchronization primitives considerably.
This commit is contained in:
Sebastian Huber
2014-09-22 13:42:26 +02:00
parent 6b475ce4b8
commit be43b79fca
18 changed files with 1341 additions and 420 deletions

View File

@@ -188,9 +188,6 @@ test_rw_non_recursive(test_context *ctx)
rw_rlock(rw);
/* FIXME: We use a mutex implementation */
assert(rw_wowned(rw));
/* FIXME: We always allow recursion */
rw_rlock(rw);
rw_runlock(rw);
rw_runlock(rw);
rw_rlock(rw);
@@ -228,9 +225,6 @@ test_rw_non_recursive(test_context *ctx)
rw_wlock(rw);
assert(rw_wowned(rw));
/* FIXME: We always allow recursion */
rw_wlock(rw);
rw_wunlock(rw);
rw_wunlock(rw);
rw_wlock(rw);