Commit Graph

3359 Commits

Author SHA1 Message Date
Alexander Krutwig
33b72fde61 testsupport: Add cascade option to parallel test 2015-03-06 16:20:20 +01:00
Sebastian Huber
7d6e94b12a score: Implement fine-grained locking for events
Use the ISR lock of the thread object to protect the event state and
use the Giant lock only for the blocking operations.

Update #2273.
2015-03-05 11:36:45 +01:00
Sebastian Huber
222dc77583 score: Add and use _Thread_Do_dispatch()
The _Thread_Dispatch() function is quite complex and the time to set up
and tear down the stack frame is significant.  Split this function into
two parts.  The complex part is now in _Thread_Do_dispatch().  Call
_Thread_Do_dispatch() in _Thread_Enable_dispatch() only if necessary.
This increases the average case performance.

Simplify _Thread_Handler() for SMP configurations.

Update #2273.
2015-03-05 11:36:19 +01:00
Sebastian Huber
b8a5abf3fa score: Update _Thread_Heir only if necessary
Previously, the _Thread_Heir was updated unconditionally in case a new
heir was determined.  The _Thread_Dispatch_necessary was only updated in
case the executing thread was preemptible or an internal thread was
unblocked.  Change this to update the _Thread_Heir and
_Thread_Dispatch_necessary only in case the currently selected heir
thread is preemptible or a dispatch is forced.  Move the schedule
decision into the change priority operation and use the schedule
operation only in rtems_task_mode() in case preemption is enabled or an
ASR dispatch is necessary.  This is a behaviour change.  Previously, the
RTEMS_NO_PREEMPT also prevented signal delivery in certain cases (not
always).  Now, signal delivery is no longer influenced by
RTEMS_NO_PREEMPT.  Since the currently selected heir thread is used to
determine if a new heir is chosen, non-preemptible heir threads
currently not executing now prevent a new heir.  This may have an
application impact, see change test tm04.  Document this change in sp04.

Update #2273.
2015-03-05 11:36:19 +01:00
Sebastian Huber
d00612875b tests: Fix warnings 2015-03-05 11:23:10 +01:00
Alexander Krutwig
7f577d3a56 tests: Refactor parallel test execution 2015-03-05 09:12:14 +01:00
Joel Sherrill
461a9302bc capture01: Update screen file 2015-03-04 14:53:36 -06:00
Joel Sherrill
57a914a3fb Add simple test for scandir() on all file systems tested
updates 1394
2015-03-04 14:46:14 -06:00
Gedare Bloom
56c7192606 psxtests/psxclock01: use clock() and CLOCKS_PER_SEC
Closes #2182
2015-03-04 15:38:53 -05:00
Sebastian Huber
e50297e36c score: ISR lock C/C++ compatiblity issue
Empty structures are implementation-defined in C.  GCC gives them a size
of zero.  In C++ empty structures have a non-zero size.

Add ISR_LOCK_DEFINE() to define ISR locks for structures used by C and
C++.

Update #2273.
2015-03-04 12:03:04 +01:00
Sebastian Huber
c5436ff482 smptests/smpcapture01: Avoid livelock condition 2015-03-04 11:59:45 +01:00
Sebastian Huber
0324410836 smptests: Do not use Giant directly
This ensures that thread dispatching is disabled.  A Giant
acquire/release pair must take place in the same processor.
2015-03-04 07:46:16 +01:00
Sebastian Huber
6357e14aac psxtests/psx05: Adjust test case
Update #2170.
2015-02-26 12:55:43 +01:00
Sebastian Huber
bd1c92480a sptests/sp76: Check that the right task executes 2015-02-26 10:20:47 +01:00
Gedare Bloom
83fe4468bc psxtests: add string param to printf. closes #2241 2015-02-23 09:59:49 -05:00
Sebastian Huber
a45dfa1447 IMFS: Fix copy on write for linfiles 2015-02-20 09:42:15 +01:00
Sebastian Huber
a3316f4706 sptests: Add missing test extension 2015-02-19 11:12:01 +01:00
Sebastian Huber
4e3d9a4d6c score: Make <rtems/score/atomic.h> available
Make <rtems/score/atomic.h> available for all RTEMS configurations.  Use
inline functions instead of macros.  Use ISR disable/enable on
uni-processor configurations to ensure atomicity.

Update #2273.
2015-02-19 10:05:48 +01:00
Sebastian Huber
c34f94f72d score: Add _CPU_SMP_Prepare_start_multitasking()
Update #2268.
2015-02-17 09:41:27 +01:00
Sebastian Huber
a43a34666e IMFS: Implement variable length node names
This reduces the average node size and adds more flexibility.
2015-02-15 11:26:39 +01:00
Sebastian Huber
f78549221b IMFS: Add CONFIGURE_IMFS_DISABLE_READDIR 2015-02-14 21:34:42 +01:00
Sebastian Huber
249766c53f IMFS: Rename CONFIGURE_IMFS_DISABLE_FCHMOD
Rename CONFIGURE_IMFS_DISABLE_FCHMOD to CONFIGURE_IMFS_DISABLE_CHMOD.
2015-02-13 21:26:17 +01:00
Sebastian Huber
40a18d7f9a IMFS: Add CONFIGURE_IMFS_DISABLE_MKNOD_FILE 2015-02-13 21:11:55 +01:00
Sebastian Huber
12eee4fdb5 IMFS: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
Resurrect CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM.
2015-02-13 20:53:41 +01:00
Joel Sherrill
b57a6a711a psxhdrs: Reorganize into subdirectories per .h file and rename files
This is a better organization and makes it clearer which file
is testing which method from which header file.
2015-02-12 15:30:44 -06:00
Joel Sherrill
86076f3f12 psxhdrs: Remove test of pthread_attr_[gs]et_cputime
These methods are no longer in the tree and the API tests should
have been removed.

closes 1981
2015-02-12 15:23:33 -06:00
Joel Sherrill
eedaf9baba psxhdrs: Add tests for <sys/socket.h> API compliance 2015-02-12 15:23:33 -06:00
Sebastian Huber
a9df916988 IMFS: Add fine grained configuration
Remove miniIMFS.  Statically initialize the root IMFS.

Add configuration options to disable individual
features of the root IMFS, e.g.
  o CONFIGURE_IMFS_DISABLE_CHOWN,
  o CONFIGURE_IMFS_DISABLE_FCHMOD,
  o CONFIGURE_IMFS_DISABLE_LINK,
  o CONFIGURE_IMFS_DISABLE_MKNOD,
  o CONFIGURE_IMFS_DISABLE_MOUNT,
  o CONFIGURE_IMFS_DISABLE_READLINK,
  o CONFIGURE_IMFS_DISABLE_RENAME,
  o CONFIGURE_IMFS_DISABLE_RMNOD,
  o CONFIGURE_IMFS_DISABLE_SYMLINK,
  o CONFIGURE_IMFS_DISABLE_UNMOUNT, and
  o CONFIGURE_IMFS_DISABLE_UTIME.
2015-02-12 20:53:36 +01:00
Sebastian Huber
60cf8a5c16 IMFS: Add root directory to FS info
Fix memory leak in IMFS_fsunmount().
2015-02-12 20:53:35 +01:00
Sebastian Huber
24ec25d2ae IMFS: Introduce IMFS_mknod_control
Drop IMFS_node_control::node_size field and add node_size parameter to
IMFS_allocate_node() and IMFS_create_node().  This reduces the size of
generic nodes.
2015-02-12 20:53:34 +01:00
Daniel Cederman
8d8573acc8 smpcapture02: Add test of functionality to add custom entries to capture trace 2015-02-11 15:35:26 +01:00
Sebastian Huber
16939b1876 Filesystem: Simplify FIFO and pipe configuration 2015-02-09 19:09:23 +01:00
Sebastian Huber
b4e52ce90f fstests/fsrename: Avoid double initialization 2015-02-09 15:38:04 +01:00
Sebastian Huber
efd2965abf Filesystem: Statically initialize rtems_libio_iops 2015-02-04 14:03:49 +01:00
Sebastian Huber
cf36b70e8d IMFS: Replace node union with individual struct
This reduces the average node size.

Add and use IMFS_GENERIC_INITIALIZER().
2015-01-27 06:54:22 +01:00
Joel Sherrill
80bfd3abee psx07: Add missing parameter to printf() call
Close 2241.

Conflicts:
	testsuites/psxtests/psx07/init.c
2015-01-23 09:46:48 -06:00
Sebastian Huber
ffb1a45e9c psxtests/psx07: Fix printf() statement
Close #2240.
2015-01-23 12:49:44 +01:00
Sebastian Huber
c625a64121 Filesystem: Delete node type operation
Use the fstat handler instead.
2015-01-22 07:52:40 +01:00
Sebastian Huber
f87ede57a2 libnetworking: Fix close of active sockets
Send a special event to notify tasks waiting for a socket state change
in case this socket gets closed.  This prevents a use after free.

Close #785.
2015-01-20 07:11:58 +01:00
Marcos Diaz
8a7048ac5e Fixed dl01 and dl02 makefiles 2015-01-20 07:53:51 +11:00
Sebastian Huber
77c5ddd496 smptests/smpmrsp01: Fix task delete race condition
Do not supsend self while waiting for termination since the
rtems_task_delete() may take place while the rtems_task_suspend() waits
for the Giant lock preventing delivery of the inter-processor interrupt.
The result is a suspended and terminated thread (this is a valid state,
but leads in this case to a test failure).
2015-01-14 07:40:49 +01:00
Sebastian Huber
7f28f23726 powerpc: Delete _CPU_IRQ_info 2015-01-09 14:03:35 +01:00
Sebastian Huber
b3ed66a17f libtests/crypt01: Increase stack size 2015-01-09 14:03:32 +01:00
Sebastian Huber
e7d175affb smptests/smpwakeafter01: Fix task count 2015-01-09 14:03:32 +01:00
Sebastian Huber
ad0743db07 smptests/smpmrsp01: Update run indicator only once
On the Freescale T2080 the excessive concurrent write/read lead to a
livelock condition.
2015-01-09 14:03:32 +01:00
Sebastian Huber
864d3475a5 smp: Fix timeout for MrsP semaphores
The previous timeout handling was flawed.  In case a waiting thread
helped out the owner could use the scheduler node indefinitely long.
Update the resource tree in _MRSP_Timeout() to avoid this issue.

Bug reported by Luca Bonato.
2014-12-18 08:33:29 +01:00
Sebastian Huber
a0b1b5edb8 Delete CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
This define was superfluous, undocumented and used inconsistently.
2014-12-16 11:34:38 +01:00
Nick Withers
f42d4292cb Enable WebSocket support in the Mongoose HTTP server 2014-12-15 07:44:56 +01:00
Sebastian Huber
7bdb765a67 Add POSIX key value pairs to resource snapshot 2014-12-12 13:16:28 +01:00
Sebastian Huber
172e953147 posix: Delete key/value if value is set to NULL 2014-12-12 13:16:25 +01:00