<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 30, 2018 at 1:03 PM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">----- Am 30. Jul 2018 um 18:29 schrieb Gedare Bloom <a href="mailto:gedare@rtems.org">gedare@rtems.org</a>:<br>
<br>
> On Mon, Jul 30, 2018 at 11:23 AM, Joel Sherrill <<a href="mailto:joel@rtems.org">joel@rtems.org</a>> wrote:<br>
>><br>
>><br>
>> On Mon, Jul 30, 2018 at 7:43 AM, Sebastian Huber<br>
>> <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-<wbr>brains.de</a>> wrote:<br>
>>><br>
>>> On 30/07/18 14:25, Joel Sherrill wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Mon, Jul 30, 2018, 6:26 AM Sebastian Huber<br>
>>>> <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-<wbr>brains.de</a><br>
>>>> <mailto:<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@<wbr>embedded-brains.de</a>>> wrote:<br>
>>>><br>
>>>>     Hello,<br>
>>>><br>
>>>>     is there a standard API to convert priorities to/from POSIX from/to<br>
>>>>     Classic? If not, I think we should add something.<br>
>>>><br>
>>>><br>
>>>> There is not a public API for this.  There are some internal helpers<br>
>>><br>
>>><br>
>>> Do you know the name of the helpers?<br>
>><br>
>><br>
>> I was thinking of the _RTEMS_Priority_To_Core,<br>
>> _RTEMS_Priority_From_core, and the similar<br>
>> POSIX helper.<br>
>><br>
>> These are probably useful to some users. No real<br>
>> cost to applications that don't use them.<br>
>><br>
> <br>
> These convert between the core kernel notion of priority and the api.<br>
> I see no problem to add some wrappers like<br>
> <br>
> rtems_posix_priority_to_core() and from_core(), and<br>
> rtems_priority_to_core(), and from_core().<br>
> <br>
> A user then could convert between the two APIs themselves if they need, like<br>
> rtems_priority_from_core( rtems_posix_priority_to_core(<wbr>p) );<br>
> <br>
> I would not introduce any conversion between classic and posix<br>
> priorities directly. It is violation of the API independence.<br>
<br>
</div></div>I don't like the idea to expose an internal priority thing to the user. We would have to create an API representation of something scheduler-specific.<br>
<br>
I propose:<br>
<br>
scheduler_id == RTEMS_SELF == scheduler of executing thread<br>
<br>
rtems_status_code rtems_task_priority_posix_to_<wbr>classic(rtems_id scheduler_id, int posix_priority, rtems_task_priority *classic_priority)<br>
rtems_status_code rtems_task_priority_classic_<wbr>to_posix(rtems_id scheduler_id, rtems_task_priority classic_priority, int *posix_priority)<br></blockquote><div><br></div><div><br></div><div>For the simplest case of current scheduler, what does a call look like?</div><div><br></div><div>And honestly, I wouldn't be opposed to something like this if it has a use case:</div><div><br></div><div>rtems_task_priority rtems_get_self_priority(void)</div><div><br></div><div>The Classic API (e.g. RTEID/ORKID) reflects a period in API programming where</div><div>you wanted a small API set. Accessors were not separated out. Methods to</div><div>simply get some information or state of an object were not included. </div></div><br></div></div>