Implementation of a new Resource Sharing Protocol

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Nov 15 16:05:39 UTC 2018


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"?
>>

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list