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

@@ -42,8 +42,6 @@
#include <stdio.h>
#include <rtems/chain.h>
/* Debug */
#define BSD_PRINTF(fmt, ...) printf("%s: " fmt, __func__, ##__VA_ARGS__)
@@ -54,16 +52,4 @@
#define BSD_ASSERT_RV(rv) BSD_ASSERT((rv) == 0)
extern rtems_chain_control rtems_bsd_lock_chain;
extern rtems_chain_control rtems_bsd_mtx_chain;
extern rtems_chain_control rtems_bsd_sx_chain;
extern rtems_chain_control rtems_bsd_condvar_chain;
extern rtems_chain_control rtems_bsd_callout_chain;
extern rtems_chain_control rtems_bsd_malloc_chain;
#endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_SUPPORT_H_ */