Changeset e0a9336b in rtems for testsuites


Ignore:
Timestamp:
Sep 3, 2018, 6:12:35 AM (15 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
ccdce9d8
Parents:
3aad9d9b
git-author:
Sebastian Huber <sebastian.huber@…> (09/03/18 06:12:35)
git-committer:
Sebastian Huber <sebastian.huber@…> (09/03/18 07:37:35)
Message:

score: Fix EDF SMP scheduler

Fix a special case: block a one-to-one scheduled thread while having a
non-empty affine ready queue on the same processor.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • testsuites/smptests/smpschededf02/init.c

    r3aad9d9b re0a9336b  
    157157  SET_AFFINITY( 1,  A(1, 0),    0, IDLE),
    158158  UNBLOCK(      1,              1,    0),
     159  /*
     160   * Block a one-to-one thread while having a non-empty affine ready queue on
     161   * the same processor.
     162   */
     163  RESET,
     164  SET_AFFINITY( 1,  A(1, 0), IDLE, IDLE),
     165  SET_AFFINITY( 3,  A(1, 0), IDLE, IDLE),
     166  UNBLOCK(      0,              0, IDLE),
     167  UNBLOCK(      1,              1,    0),
     168  UNBLOCK(      2,              1,    0),
     169  UNBLOCK(      3,              1,    0),
     170  BLOCK(        1,              2,    0),
     171  BLOCK(        0,              3,    2),
     172  /*
     173   * Make sure that a one-to-one thread does not get the wrong processor
     174   * allocated after selecting the highest ready thread.
     175   */
     176  RESET,
     177  SET_AFFINITY( 1,  A(1, 0), IDLE, IDLE),
     178  SET_AFFINITY( 2,  A(1, 0), IDLE, IDLE),
     179  UNBLOCK(      0,              0, IDLE),
     180  UNBLOCK(      1,              1,    0),
     181  UNBLOCK(      2,              1,    0),
     182  BLOCK(        0,              1, IDLE),
    159183  RESET
    160184};
Note: See TracChangeset for help on using the changeset viewer.