Chris Johns created an issue: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5390

Assignee: Gedare Bloom

The EDF scheduler currently publishes the priority range incorrectly. For 
example the `IDLE` task on an SMP system has:

```
ID       THREAD          SCHD CAPI       PAPI       CLOW       CHIGH      PLOW  
     PHIGH
09010001            IDLE MEDF 2147483647          0 2147483647          1       
   1 2147483646
09010002            IDLE MEDF 2147483647          0 2147483647          1       
   1 2147483646
0a010001            JFFS MEDF        175 2147483472 2147483647          1       
   1 2147483646
0a010002            UI1  MEDF        200 2147483447 2147483647          1       
   1 2147483646
```

The legends are:

1. `CAPI` is the priority reported by the Classic API get priority call
2. `PAPI` is the priority reported by the POSIX API get priority call
3. `CLOW` is Classic API reported low priority
4. `CHIGH` is the Classic API reported high priority
5. `PLOW` is the POSIX API reported low priority
6. `PHIGH` is the POSIX API reported high priority

The values should be limited to a base range. RTEMS has in all previous 
versions limited the base range to `0` and `255`. If the thread is dead line 
driven the priority is internal to EDF and should report `0`.

The key requirement for all schedulers is:

> Priories reported and set for all schedulers need to respect the base range 
> of `0` to `255` in all API interfaces. All scheduler specific priority ranges 
> need to be unified across all schedulers and their unique mapping within the 
> base range. For example setting a a priority of 1 using the Classic API on a 
> POSIX thread id will report 255 using the the POSIX get API call.

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


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to