Commit Graph

1563 Commits

Author SHA1 Message Date
Sebastian Huber
c5831a3f9a score: Add clustered/partitioned scheduling
Clustered/partitioned scheduling helps to control the worst-case
latencies in the system.  The goal is to reduce the amount of shared
state in the system and thus prevention of lock contention.  Modern
multi-processor systems tend to have several layers of data and
instruction caches.  With clustered/partitioned scheduling it is
possible to honour the cache topology of a system and thus avoid
expensive cache synchronization traffic.

We have clustered scheduling in case the set of processors of a system
is partitioned into non-empty pairwise-disjoint subsets.  These subsets
are called clusters.  Clusters with a cardinality of one are partitions.
Each cluster is owned by exactly one scheduler instance.
2014-04-15 10:41:44 +02:00
Sebastian Huber
133d54c55e score: Add scheduler name 2014-04-15 08:37:12 +02:00
Sebastian Huber
e1598a616d score: Static scheduler configuration
Do not allocate the scheduler control structures from the workspace.
This is a preparation step for configuration of clustered/partitioned
schedulers on SMP.
2014-04-15 08:37:11 +02:00
Sebastian Huber
263f4becea score: Statically initialize IO manager
This simplifies the RTEMS initialization and helps to avoid a memory
overhead.  The workspace demands of the IO manager were not included in
the <rtems/confdefs.h> workspace size estimate.  This is also fixed as a
side-effect.

Update documentation and move "Specifying Application Defined Device
Driver Table" to the section end.  This sub-section is not that
important for the user.  Mentioning this at the beginning may lead to
confusion.
2014-04-10 12:37:40 +02:00
Sebastian Huber
3a4d28a8c3 documentation: Clarify 2014-04-10 12:34:00 +02:00
Sebastian Huber
d61f550246 documentation: Move CONFIGURE_MAXIMUM_DEVICES
Move CONFIGURE_MAXIMUM_DEVICES documentation to "File System
Configuration Parameters".  This define has nothing to do with the
device driver table.
2014-04-10 11:52:22 +02:00
Joel Sherrill
d507c03731 Disable per task variables when SMP is enabled
Per task variables are inherently unsafe in SMP systems. This
patch disables them from the build and adds warnings in the
appropriate documentation and configuration sections.
2014-04-04 14:27:27 -05:00
Christian Mauderer
5c0c0cf2a6 privateenv: Use POSIX keys instead of task variables. 2014-03-27 14:50:36 +01:00
Joel Sherrill
8cc7084c2c doc misc: Building again and updates
Remove references to Cygnus
Fix issues introduced in previous edits
2014-03-21 08:53:31 -05:00
Joel Sherrill
4c36cd5b71 relnotes/intro.texi: Change rtems.com to rtems.org and update 2014-03-20 16:20:29 -05:00
Joel Sherrill
98fd4153b4 relnotes/status.texi: Update to Bugzilla 2014-03-20 16:20:21 -05:00
Joel Sherrill
0b7e5f7510 HELP.html Makefile.am: Remove unused HELP.html 2014-03-20 16:18:34 -05:00
Joel Sherrill
0dd02c6876 cpright.texi: Update to reflect services and community 2014-03-20 16:17:24 -05:00
Joel Sherrill
a86d13a57d texi2html_init.in: Reword rtems.com to rtems.org 2014-03-20 16:16:41 -05:00
Joel Sherrill
f5bbc042d9 started/buildc.t: Change CVS to Git 2014-03-20 16:16:39 -05:00
Joel Sherrill
df40cc9016 started/buildrt.t: Change CVS to Git 2014-03-20 16:16:02 -05:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Christian Mauderer
6cd4a5ca2e cpukit/shell: Replace task variables with posix keys.
Use posix keys for current shell environment instead of task variables. With
this patch the shell needs one posix-key and one posix-key-value-pair
configured.

Update documentation for the shell.

Adapt samples/fileio:
- Add necessary objects.
- Add login function and custom device name for better testing of the shell.
2014-03-20 09:10:26 +01:00
Sebastian Huber
0bf59cf0ae Add documentation for profiling 2014-03-14 08:46:51 +01:00
Joel Sherrill
2aeeaa00f9 doc: Improve description of rtems_status_text for ToC 2014-03-11 19:04:06 -05:00
Joel Sherrill
89e72a80c9 smp.t: Add Background and Operation Sections 2014-03-11 19:03:53 -05:00
Joel Sherrill
d46ab11bcd Classic API Users Guide: Add SMP and affinity services.
This patch adds the initial version of the SMP chapter to the Users Guide.
2014-03-11 16:27:57 -05:00
Joel Sherrill
4013d25bc2 POSIX Users Guide: Add thread affinity services. 2014-03-11 16:27:57 -05:00
Joel Sherrill
30d1176618 stackchk.t task.t: Change can not to cannot for consistency 2014-03-11 16:27:57 -05:00
Joel Sherrill
48198f1b35 cpright.texi: Update to 2014. 2014-03-11 16:27:56 -05:00
Joel Sherrill
653ed5e151 gen_section: Update for use with new SMP chapters. 2014-03-11 13:21:47 -05:00
Sebastian Huber
24bf11eca1 score: Add CPU counter support
Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals.  This can be used for
example to enable profiling of critical low-level functions.

Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
2014-02-14 10:28:29 +01:00
Sebastian Huber
bab16de267 score: Change debug helper functions
Rename rtems_internal_error_description() to
rtems_internal_error_text().  Rename rtems_fatal_source_description() to
rtems_fatal_source_text().  Rename rtems_status_code_description() to
rtems_status_text().  Remove previous implementation of
rtems_status_text().
2014-02-12 09:18:00 +01:00
Sebastian Huber
920a43e639 rtems: Add rtems_status_code_description() 2014-02-06 08:47:02 +01:00
Sebastian Huber
022851aba5 Add thread-local storage (TLS) support
Tested and implemented on ARM, m68k, PowerPC and SPARC.  Other
architectures need more work.
2014-02-04 10:06:35 +01:00
Chris Johns
2d1bdc8f79 cpukit/rtems: Add rtems_clock_get_uptime_nanoseconds to the RTEMS API.
Add Timestamp support in the score to return a timestamp in nanoseconds.
Add a test.
Update the RTEMS API documentation.
2013-12-24 16:46:19 +11:00
Chris Johns
259328a78d cpukit/shell: Control help break with SHELL_LINES env variable.
Control the help command break with the SHELL_LINES evironment variable
where the numeric value is the number of lines to break on. If the
value is 0 the output is not broken. The default is 16 lines.

Add shell documentation for the help command.
2013-12-16 11:59:51 +11:00
Sahil Patnayakuni
98b9a3b5cb doc/posix_users: add notes and descriptions for pthread_key functions 2013-12-05 10:16:11 -05:00
Joel Sherrill
5124d64acd sparc.t: Correct for V8/V9 2013-11-20 15:26:11 -06:00
Shubham Somani
e4ced53e68 doc: Document format in conf.t 2013-10-15 13:14:13 -04:00
Vipul Nayyar
8ac962e1a7 bsp_howto/support.t: Add PIC Interrupt Model API Information 2013-09-17 12:44:08 -05:00
Sebastian Huber
99b35052ae smp: Add Deterministic Priority SMP Scheduler 2013-08-20 10:17:35 +02:00
Sebastian Huber
540e860331 documentation: Directives allowed from an ISR
Update list.
2013-08-14 11:10:45 +02:00
Shubham Somani
45ca51c4f7 doc/user/conf.t: More clean ups 2013-07-29 13:06:31 -05:00
Joel Sherrill
989604a56f conf.t: Fix minor typos. 2013-07-24 15:30:24 -05:00
Cynthia Rempel
3c495d510d doc/user/conf.t: Fix SMP_MAXIMUM_PROCESSORS and add Go configuration 2013-07-24 13:14:28 -05:00
Cynthia Rempel
1f6138e50f doc/user/conf.t: Fix SMP_MAXIMUM_PROCESSORS and add Go Configuration 2013-07-22 18:30:07 -05:00
Joel Sherrill
b885fe19ae doc/shell/Makefile.am: Fix dependency 2013-07-22 18:29:49 -05:00
Cynthia Rempel
873859a405 Make the default values easier for the configuration GUI to parse 2013-06-12 13:52:55 -04:00
Sebastian Huber
fed92f5f67 termios: Notify driver about inactive transmit
Returning this state in the return value leads to race conditions on
SMP.  The inactive state notification must be inside the critical
section.
2013-06-12 16:11:25 +02:00
Sebastian Huber
c7bc6d44cb rtems: Add interrupt locks
Interrupt locks are low-level lock to protect critical sections accessed
by threads and interrupt service routines.
2013-06-12 16:11:24 +02:00
Andrei Mozzhuhin
7bb71c7e9d shell: Add df command 2013-05-16 11:40:42 +02:00
Sebastian Huber
39993d6d76 score: Add CPU context validation 2013-05-10 12:10:14 +02:00
Sebastian Huber
14c55cc0f8 doc: Config documentation changes throughout 2013-04-10 16:09:12 +02:00
Sebastian Huber
a6a88f4b0e doc: Add bdbuf configuration options 2013-04-10 15:47:54 +02:00