<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 2, 2021 at 12:19 PM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 02/02/2021 16:56, Gedare Bloom wrote:<br>
<br>
><br>
><br>
> On Tue, Feb 2, 2021 at 8:42 AM Sebastian Huber <br>
> <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a> <br>
> <mailto:<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>>> wrote:<br>
><br>
>     On 02/02/2021 16:37, Gedare Bloom wrote:<br>
><br>
>     >     -.. rubric:: NOTES:<br>
>     >     +.. rubric:: CONSTRAINTS:<br>
>     ><br>
>     >     -This directive is strictly local and does not impact task<br>
>     scheduling.<br>
>     ><br>
>     ><br>
>     > I may have missed the discussion, but this note is being removed<br>
>     > without being added elsewhere.<br>
>     ><br>
>     > Is it implied that all functions are local and do not impact task<br>
>     > scheduling, unless otherwise constrained?<br>
>     No, I replaced the above with below:<br>
>     ><br>
>     >     +The following constraints apply to this directive:<br>
>     >     +<br>
>     >     +* The directive is implemented by a macro and may be called<br>
>     from<br>
>     >     within C/C++<br>
>     >     +  constant expressions.  In addition, a function implementation<br>
>     >     of the<br>
>     >     +  directive exists for bindings to other programming languages.<br>
>     ><br>
>     I could also add this:<br>
><br>
>     * The directive will not cause the calling task to be preempted.<br>
><br>
> I think that will help for clarity, perhaps. It is good to know which <br>
> rtems_ services can/cannot preempt<br>
Ok, I will try to add at least one context and at least one preemption <br>
constraint to each directive.<br>
><br>
>      From my point of view it was clear that something which "may be<br>
>     called<br>
>     from within C/C++ constant expressions" cannot impact task scheduling.<br>
><br>
><br>
> may is not must. If you call it from a non-constant expression it <br>
> still will not preempt.<br>
><br>
> Also, I think it is a bit odd to say "called from within" a constant. <br>
> maybe "used from within" is better? You don't actually make a call <br>
> when it is constant.<br>
I would keep the "called from within". It is called by the compiler and <br>
not the processor. In C++ you nowadays have a lot of constexpr functions <br>
(or templates).<br>
<br></blockquote><div>ok</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
<br>
</blockquote></div></div>