diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-09 15:07:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-15 10:41:44 +0200 |
commit | c5831a3f9af11228dbdaabaf01f69d37e55684ef (patch) | |
tree | e9ddedd942f3f31d239820dfc4dbcef4cde0b09a /cpukit/score/src/schedulerdefaulttick.c | |
parent | rtems: Add task get/set scheduler (diff) | |
download | rtems-c5831a3f9af11228dbdaabaf01f69d37e55684ef.tar.bz2 |
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.
Diffstat (limited to 'cpukit/score/src/schedulerdefaulttick.c')
-rw-r--r-- | cpukit/score/src/schedulerdefaulttick.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/cpukit/score/src/schedulerdefaulttick.c b/cpukit/score/src/schedulerdefaulttick.c index 6e7ed376e3..98cd05e1c0 100644 --- a/cpukit/score/src/schedulerdefaulttick.c +++ b/cpukit/score/src/schedulerdefaulttick.c @@ -24,7 +24,7 @@ #include <rtems/score/smp.h> #include <rtems/config.h> -static void _Scheduler_default_Tick_for_executing( +void _Scheduler_default_Tick( const Scheduler_Control *scheduler, Thread_Control *executing ) @@ -83,15 +83,3 @@ static void _Scheduler_default_Tick_for_executing( #endif } } - -void _Scheduler_default_Tick( const Scheduler_Control *scheduler ) -{ - uint32_t processor_count = _SMP_Get_processor_count(); - uint32_t processor; - - for ( processor = 0 ; processor < processor_count ; ++processor ) { - const Per_CPU_Control *per_cpu = _Per_CPU_Get_by_index( processor ); - - _Scheduler_default_Tick_for_executing( scheduler, per_cpu->executing ); - } -} |