Implementation of a new Resource Sharing Protocol

Malte Münch mamu at stablerock.de
Fri Nov 16 15:25:48 UTC 2018


Hello,

now i've read through a bit of code. Isn't _Thread_queue_Operations_FIFO
respectively _Thread_queue_Do_nothing_priority_actions more suitable for
me than _Thread_queue_Operations_priority with priority_actions
_Thread_queue_Priority_priority_actions?

Best regards

Malte

On 15.11.18 17:05, Sebastian Huber wrote:
> I think with this change you get something similar (priority inheritance
> is also disabled):
> 
> diff --git a/cpukit/include/rtems/score/mrspimpl.h
> b/cpukit/include/rtems/score/mrspimpl.h
> index b9c7441401..4b69d6c68b 100644
> --- a/cpukit/include/rtems/score/mrspimpl.h
> +++ b/cpukit/include/rtems/score/mrspimpl.h
> @@ -35,7 +35,7 @@ extern "C" {
>   * @{
>   */
> 
> -#define MRSP_TQ_OPERATIONS &_Thread_queue_Operations_priority_inherit
> +#define MRSP_TQ_OPERATIONS &_Thread_queue_Operations_priority
> 
>  RTEMS_INLINE_ROUTINE void _MRSP_Acquire_critical(
>    MRSP_Control         *mrsp,
> 
> On 15/11/2018 17:02, Malte Münch wrote:
>> I mean something like:
>>
>> while (resource blocked) {
>>     // nothing
>> }
>>
>> instead of
>>
>> while (resource blocked) {
>>     // help other tasks
>> }
>> On 15.11.18 16:44, Sebastian Huber wrote:
>>> On 15/11/2018 16:42, Malte Münch wrote:
>>>> Hello,
>>>>
>>>> i am fiddling around with the mrsp-implementation for a while now. But
>>>> until now i am not able to divide the codeparts and understand what
>>>> each
>>>> thing is doing. I am particularly interested in the part where the
>>>> helping mechanism is enabled. I want to replace it in a way that the
>>>> task is idling instead.
>>> What do you mean with "task is idling"?
>>>
> 



More information about the devel mailing list