[PATCH 1/2] score/scheduling: Use RBTree_First instead of Peek in EDF scheduler.

Gedare Bloom gedare at rtems.org
Wed May 2 15:36:11 UTC 2012


The scheduler is invoked at this point with preemption disabled so we
can use the unprotected tree function.

Tested with the spedfscheduler tests on sparc-sis.

On Wed, May 2, 2012 at 11:26 AM, Gedare Bloom <gedare at rtems.org> wrote:
> ---
>  cpukit/score/src/scheduleredfschedule.c |    9 +++------
>  1 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/cpukit/score/src/scheduleredfschedule.c b/cpukit/score/src/scheduleredfschedule.c
> index 1482be8..a45aca4 100644
> --- a/cpukit/score/src/scheduleredfschedule.c
> +++ b/cpukit/score/src/scheduleredfschedule.c
> @@ -1,12 +1,10 @@
>  /*
>  *  Copyright (C) 2011 Petr Benes.
> - *  Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
> + *  Copyright (C) 2011-2012 On-Line Applications Research Corporation (OAR).
>  *
>  *  The license and distribution terms for this file may be
>  *  found in the file LICENSE in this distribution or at
>  *  http://www.rtems.com/license/LICENSE.
> - *
> - *  $Id$
>  */
>
>  #if HAVE_CONFIG_H
> @@ -19,10 +17,9 @@
>
>  void _Scheduler_EDF_Schedule(void)
>  {
> -  RBTree_Node *first_node =
> -    _RBTree_Peek(&_Scheduler_EDF_Ready_queue, RBT_LEFT);
> +  RBTree_Node *first = _RBTree_First(&_Scheduler_EDF_Ready_queue, RBT_LEFT);
>   Scheduler_EDF_Per_thread *sched_info =
> -    _RBTree_Container_of(first_node, Scheduler_EDF_Per_thread, Node);
> +    _RBTree_Container_of(first, Scheduler_EDF_Per_thread, Node);
>
>   _Thread_Heir = (Thread_Control *) sched_info->thread;
>  }
> --
> 1.7.1
>




More information about the devel mailing list