[PATCH 24/45] score: Fine grained locking for message queues
gedare at rtems.org
Sun May 17 12:35:36 UTC 2015
On Fri, May 15, 2015 at 7:41 AM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> Aggregate several critical sections into a bigger one. Sending and
> receiving messages is now protected by an ISR lock. Thread dispatching
> is only disabled in case a blocking operation is necessary. The message
> copy procedure is done inside the critical section (interrupts
> disabled). Thus this change may have a negative impact on the interrupt
> latency in case very large messages are transferred.
> Update #2273.
> diff --git a/doc/user/msg.t b/doc/user/msg.t
> index f58d677..4ca5611 100644
> --- a/doc/user/msg.t
> +++ b/doc/user/msg.t
> @@ -50,7 +50,10 @@ wait for a message to arrive at a queue. Also, a task may poll
> a queue for the arrival of a message.
> The maximum length message which can be sent is set
> -on a per message queue basis.
> +on a per message queue basis. The message content must be copied in general
> +to/from an internal buffer of the message queue or directly to a peer in
> +certain cases. This copy operation is performed with interrupts disabled. So
> +it is advisible to keep the messages as short as possible.
Thanks for making this note. Do we have any documentation that lists
all the kinds of factors that affect the interrupt-disabled time? That
would be "nice to have".
More information about the devel