Changeset ffd4617 in rtems


Ignore:
Timestamp:
Jul 17, 2018, 1:33:49 PM (16 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
bda8f80
Parents:
1b57b75
git-author:
Sebastian Huber <sebastian.huber@…> (07/17/18 13:33:49)
git-committer:
Sebastian Huber <sebastian.huber@…> (07/18/18 05:16:27)
Message:

score: Fix _Scheduler_EDF_SMP_Set_affinity()

Commit 8744498752ad4f0eaf9fb5640c6a0e0f2dc92fda broke the
_Scheduler_EDF_SMP_Set_affinity() implementation. We must test the
overall affinity against the online processors.

Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/src/scheduleredfsmp.c

    r1b57b75 rffd4617  
    657657{
    658658  Scheduler_Context *context;
    659   Processor_mask     a;
    660   uint32_t           count;
     659  Processor_mask     local_affinity;
    661660  uint32_t           rqi;
    662661
    663662  context = _Scheduler_Get_context( scheduler );
    664   _Processor_mask_And( &a, &context->Processors, affinity );
    665   count = _Processor_mask_Count( &a );
    666 
    667   if ( count == 0 ) {
     663  _Processor_mask_And( &local_affinity, &context->Processors, affinity );
     664
     665  if ( _Processor_mask_Is_zero( &local_affinity ) ) {
    668666    return false;
    669667  }
    670668
    671   if ( count == _SMP_Processor_count ) {
     669  if ( _Processor_mask_Is_equal( affinity, &_SMP_Online_processors ) ) {
    672670    rqi = 0;
    673671  } else {
    674     rqi = _Processor_mask_Find_last_set( &a );
     672    rqi = _Processor_mask_Find_last_set( &local_affinity );
    675673  }
    676674
  • testsuites/smptests/Makefile.am

    r1b57b75 rffd4617  
    480480
    481481if HAS_SMP
     482if TEST_smpschededf04
     483smp_tests += smpschededf04
     484smp_screens += smpschededf04/smpschededf04.scn
     485smp_docs += smpschededf04/smpschededf04.doc
     486smpschededf04_SOURCES = smpschededf04/init.c
     487smpschededf04_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_smpschededf04) \
     488        $(support_includes)
     489endif
     490endif
     491
     492if HAS_SMP
    482493if TEST_smpschedsem01
    483494smp_tests += smpschedsem01
  • testsuites/smptests/configure.ac

    r1b57b75 rffd4617  
    7575RTEMS_TEST_CHECK([smpschededf02])
    7676RTEMS_TEST_CHECK([smpschededf03])
     77RTEMS_TEST_CHECK([smpschededf04])
    7778RTEMS_TEST_CHECK([smpschedsem01])
    7879RTEMS_TEST_CHECK([smpscheduler01])
Note: See TracChangeset for help on using the changeset viewer.