LibBSD | Does LibBSD only support EDF SMP scheduler (#4)

geng zhu (@zhugengyu2023) gitlab at rtems.org
Thu Sep 5 02:28:29 UTC 2024



geng zhu created an issue: https://gitlab.rtems.org/rtems/pkg/rtems-libbsd/-/issues/4



## Summary
<!--
Please provide as much information as possible such as error messages or attaching logs
-->

Hello all, I am trying to porting LibBSD to some armv8a platform with SMP support, but I find that only EDF scheduler workable for mine when libBSD enabled, when talking about UP, all kinds of scheduler works, So I'm wondering if anyone do so kind of test like me

![image](/uploads/df83f09bd2d1e4fd44b782d249926094/image.png){width=921 height=316}

PS: I care about the scheduler config because EDF is not priority 255 based, I want to keep the same kind of default scheduler algorithm as UP

- my scheduler config is 

```

#define CONFIGURE_MICROSECONDS_PER_TICK 1000

#define CONFIGURE_MAXIMUM_PROCESSORS   8

#if defined(RTEMS_SMP) && (CONFIGURE_MAXIMUM_PROCESSORS > 1)

#define CONFIGURE_MAXIMUM_PRIORITY 255
#define CONFIGURE_SCHEDULER_PRIORITY_SMP

#include <rtems/scheduler.h>

RTEMS_SCHEDULER_PRIORITY_SMP(io, CONFIGURE_MAXIMUM_PRIORITY + 1);
RTEMS_SCHEDULER_PRIORITY_SMP(work, CONFIGURE_MAXIMUM_PRIORITY + 1);

#define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
  RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( \
    io, \
     rtems_build_name('I', 'O', ' ', ' ') \
  ), \
  RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( \
    work, \
    rtems_build_name('W', 'O', 'R', 'K') \
  )

#define CONFIGURE_SCHEDULER_ASSIGNMENTS \
  RTEMS_SCHEDULER_ASSIGN(0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
  RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL)

#else /* RTEMS_SMP */

#define CONFIGURE_SCHEDULER_PRIORITY

#endif
```

## Steps to reproduce

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/pkg/rtems-libbsd/-/issues/4
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240905/8c4f8dad/attachment-0001.htm>


More information about the bugs mailing list