Commit Graph

20 Commits

Author SHA1 Message Date
Sebastian Huber
d7665823b2 score: Introduce Thread_queue_Heads
Move the storage for the thread queue heads to the threads.  Each thread
provides a set of thread queue heads allocated from a dedicated memory
pool.  In case a thread blocks on a queue, then it lends its heads to
the queue.  In case the thread unblocks, then it takes a free set of
threads from the queue.  Since a thread can block on at most one queue
this works.  This mechanism is used in FreeBSD.  The motivation for this
change is to reduce the memory demands of the synchronization objects.
On a 32-bit uni-processor configuration the Thread_queue_Control size is
now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced
the size as well).
2015-07-23 08:01:13 +02:00
Sebastian Huber
23fec9f0e1 score: PR2152: Use allocator mutex for objects
Use allocator mutex for objects allocate/free.  This prevents that the
thread dispatch latency depends on the workspace/heap fragmentation.
2014-03-31 08:29:44 +02:00
Sebastian Huber
6c0301daad tests/sptests: Use <rtems/test.h> 2014-03-25 08:06:21 +01:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Sebastian Huber
ae75429ca1 PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 2013-08-08 14:11:22 +02:00
Sebastian Huber
c40482815e rtems: Create tasks implementation header
Move implementation specific parts of tasks.h and tasks.inl into new
header file tasksimpl.h.  The tasks.h contains now only the application
visible API.
2013-07-23 15:12:55 +02:00
Sebastian Huber
fe1dc221b6 score: Add _Objects_Active_count() 2012-12-21 15:40:27 +01:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
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.
2012-05-11 08:44:13 -05:00
Joel Sherrill
33a105fb69 Revert: Remove CVS Ids
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
2012-05-07 11:08:48 -05:00
Ralf Corsépius
70f3719807 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Joel Sherrill
61250b4ce9 Remove all .cvsignore files. 2012-02-01 10:59:44 -06:00
Joel Sherrill
d13eb6bf2c 2011-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1589/build
	* sp01/Makefile.am, sp02/Makefile.am, sp03/Makefile.am,
	sp04/Makefile.am, sp05/Makefile.am, sp06/Makefile.am,
	sp07/Makefile.am, sp08/Makefile.am, sp09/Makefile.am,
	sp10/Makefile.am, sp11/Makefile.am, sp12/Makefile.am,
	sp13/Makefile.am, sp14/Makefile.am, sp15/Makefile.am,
	sp16/Makefile.am, sp17/Makefile.am, sp18/Makefile.am,
	sp19/Makefile.am, sp20/Makefile.am, sp2038/Makefile.am,
	sp21/Makefile.am, sp22/Makefile.am, sp23/Makefile.am,
	sp24/Makefile.am, sp25/Makefile.am, sp26/Makefile.am,
	sp27/Makefile.am, sp27a/Makefile.am, sp28/Makefile.am,
	sp29/Makefile.am, sp30/Makefile.am, sp31/Makefile.am,
	sp32/Makefile.am, sp33/Makefile.am, sp34/Makefile.am,
	sp35/Makefile.am, sp36/Makefile.am, sp37/Makefile.am,
	sp38/Makefile.am, sp39/Makefile.am, sp40/Makefile.am,
	sp41/Makefile.am, sp42/Makefile.am, sp43/Makefile.am,
	sp44/Makefile.am, sp45/Makefile.am, sp46/Makefile.am,
	sp47/Makefile.am, sp48/Makefile.am, sp49/Makefile.am,
	sp50/Makefile.am, sp51/Makefile.am, sp52/Makefile.am,
	sp53/Makefile.am, sp54/Makefile.am, sp55/Makefile.am,
	sp56/Makefile.am, sp57/Makefile.am, sp58/Makefile.am,
	sp59/Makefile.am, sp60/Makefile.am, sp62/Makefile.am,
	sp63/Makefile.am, sp64/Makefile.am, sp65/Makefile.am,
	sp66/Makefile.am, sp67/Makefile.am, sp68/Makefile.am,
	sp69/Makefile.am, sp70/Makefile.am, sp71/Makefile.am,
	sp72/Makefile.am, sp73/Makefile.am, sp74/Makefile.am,
	sp75/Makefile.am, sp76/Makefile.am, spassoc01/Makefile.am,
	spcbssched01/Makefile.am, spcbssched02/Makefile.am,
	spcbssched03/Makefile.am, spchain/Makefile.am,
	spclockget/Makefile.am, spcoverage/Makefile.am,
	spedfsched01/Makefile.am, spedfsched02/Makefile.am,
	spedfsched03/Makefile.am, sperror01/Makefile.am,
	sperror02/Makefile.am, sperror03/Makefile.am, spfatal01/Makefile.am,
	spfatal02/Makefile.am, spfatal03/Makefile.am, spfatal04/Makefile.am,
	spfatal05/Makefile.am, spfatal06/Makefile.am, spfatal07/Makefile.am,
	spfatal08/Makefile.am, spfatal09/Makefile.am, spfatal10/Makefile.am,
	spfatal11/Makefile.am, spfatal12/Makefile.am, spfatal13/Makefile.am,
	spfatal14/Makefile.am, spfatal15/Makefile.am, spfatal16/Makefile.am,
	spfatal17/Makefile.am, spfatal18/Makefile.am, spfatal19/Makefile.am,
	spfatal20/Makefile.am, spfatal21/Makefile.am, spfatal22/Makefile.am,
	spfatal23/Makefile.am, spfatal24/Makefile.am, spfatal25/Makefile.am,
	spfifo01/Makefile.am, spfifo02/Makefile.am, spfifo03/Makefile.am,
	spfifo04/Makefile.am, spfifo05/Makefile.am, spheapprot/Makefile.am,
	spintrcritical01/Makefile.am, spintrcritical02/Makefile.am,
	spintrcritical03/Makefile.am, spintrcritical04/Makefile.am,
	spintrcritical05/Makefile.am, spintrcritical06/Makefile.am,
	spintrcritical07/Makefile.am, spintrcritical08/Makefile.am,
	spintrcritical09/Makefile.am, spintrcritical10/Makefile.am,
	spintrcritical11/Makefile.am, spintrcritical12/Makefile.am,
	spintrcritical13/Makefile.am, spintrcritical14/Makefile.am,
	spintrcritical15/Makefile.am, spintrcritical16/Makefile.am,
	spintrcritical17/Makefile.am, spmkdir/Makefile.am,
	spmountmgr01/Makefile.am, spnotepad01/Makefile.am,
	spnsext01/Makefile.am, spobjgetnext/Makefile.am,
	spprintk/Makefile.am, spprivenv01/Makefile.am,
	sprbtree01/Makefile.am, spsimplesched01/Makefile.am,
	spsimplesched02/Makefile.am, spsimplesched03/Makefile.am,
	spsize/Makefile.am, spstkalloc/Makefile.am, spthreadq01/Makefile.am,
	spwatchdog/Makefile.am, spwkspace/Makefile.am: Remove obsolete
	optional manager capability.
2011-12-08 21:38:41 +00:00
Ralf Corsepius
7d3f9c646a Add HAVE_CONFIG_H. 2011-02-22 07:37:03 +00:00
Joel Sherrill
9e7d02a3dc 2009-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>
* sp18/init.c, sp31/task1.c, sp43/init.c, sp63/init.c, sp64/init.c,
	spfatal10/testcase.h, spfatal11/testcase.h, spobjgetnext/init.c,
	spwkspace/init.c: Use rtems_test_assert() consistently instead of
	system assert(). rtems_test_assert() is designed to integrate into
	the RTEMS test suite infrastructure.
2009-12-08 17:52:56 +00:00
Ralf Corsepius
b1274bd94c Whitespace removal. 2009-11-30 03:33:25 +00:00
Joel Sherrill
380c61ac67 2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* sp32/Makefile.am, sp33/Makefile.am, sp37/Makefile.am,
	sp38/Makefile.am, sp39/Makefile.am, sp43/Makefile.am,
	sp44/Makefile.am, spfatal01/Makefile.am, spfatal02/Makefile.am,
	spfatal03/Makefile.am, spfatal04/Makefile.am, spfatal05/Makefile.am,
	spfatal06/Makefile.am, spfatal07/Makefile.am, spfatal08/Makefile.am,
	spfatal09/Makefile.am, spobjgetnext/Makefile.am,
	spprintk/Makefile.am, spsize/Makefile.am, spwatchdog/Makefile.am,
	spwkspace/Makefile.am: Add documentation files for multiple tests.
	* sp32/sp32.doc, sp33/sp33.doc, sp37/sp37.doc, sp38/sp38.doc,
	sp39/sp39.doc, sp43/sp43.doc, sp44/sp44.doc, spfatal01/spfatal01.doc,
	spfatal02/spfatal02.doc, spfatal03/spfatal03.doc,
	spfatal04/spfatal04.doc, spfatal05/spfatal05.doc,
	spfatal06/spfatal06.doc, spfatal07/spfatal07.doc,
	spfatal08/spfatal08.doc, spfatal09/spfatal09.doc,
	spobjgetnext/spobjgetnext.doc, spprintk/spprintk.doc,
	spsize/spsize.doc, spwatchdog/spwatchdog.doc,
	spwkspace/spwkspace.doc: New files.
2009-11-09 14:25:28 +00:00
Ralf Corsepius
2f2da91c1f Eliminate unused vars. 2009-10-24 06:14:30 +00:00
Joel Sherrill
7d414c33ae 2009-08-18 Joel Sherrill <joel.sherrill@OARcorp.com>
* spobjgetnext/init.c, spobjgetnext/spobjgetnext.scn: Add error cases
	for various null parameters.
2009-08-18 15:32:49 +00:00
Joel Sherrill
b84f1fdc0d 2009-05-10 Joel Sherrill <joel.sherrill@oarcorp.com>
* sp04/system.h, sp04/task1.c, sp04/tswitch.c, sp07/init.c,
	sp12/init.c, sp13/putbuff.c, sp13/system.h, sp13/task1.c,
	sp15/init.c, sp16/system.h, sp19/fptask.c, sp25/system.h,
	sp26/task1.c, sp27/init.c, sp28/init.c, sp29/init.c, sp31/task1.c,
	sp33/init.c, sp34/changepri.c, sp35/priinv.c, sp37/init.c,
	sp38/init.c, sp39/init.c, sp41/init.c, sp42/init.c, sp43/init.c,
	sp44/init.c, sp45/init.c, sp46/init.c, sp47/init.c, sp48/init.c,
	spfatal03/testcase.h, spfatal05/testcase.h, spfatal06/testcase.h,
	spfatal_support/system.h, spobjgetnext/init.c, spsize/getint.c,
	spsize/size.c: Fix warnings.
2009-05-10 14:39:46 +00:00
Joel Sherrill
c14c2f0baf 2009-05-07 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac: Add initial test of _Objects_Get_next.
	* spobjgetnext/.cvsignore, spobjgetnext/Makefile.am,
	spobjgetnext/init.c, spobjgetnext/spobjgetnext.scn,
	spobjgetnext/system.h: New files.
2009-05-08 02:05:51 +00:00