[RTEMS Project] #2273: One Step Towards Fine Grained Locking
RTEMS trac
trac at rtems.org
Fri May 15 09:47:18 UTC 2015
#2273: One Step Towards Fine Grained Locking
-----------------------------+------------------------------
Reporter: sebastian.huber | Owner: sebastian.huber
Type: enhancement | Status: accepted
Priority: normal | Milestone: 4.11.1
Component: SMP | Version: 4.11
Severity: normal | Resolution:
Keywords: |
-----------------------------+------------------------------
Comment (by sebastian.huber):
The following test data is gathered on a 4 processor ESA/Gaisler NGMP
platform running at 50MHz. Three test cases of the tmtests/tmfine01 test
program are presented using RTEMS version
[dc5e5f44485b8f9709da767f79595d2fa8aff74d/rtems] with the patch
[7d6e94b12ab94f13d3e769702d50f91be7d5884b/rtems] reverted (= old) and a
RTEMS version with a fine grained locking implementation for events,
semaphores and message queues (= new). The data for the old version is
presented before the data for the new version. There is one task per
processor.
The first test case sends events to self.
[[Image(ticket:2273:ngmp-events-old.png, 66%)]]
[[Image(ticket:2273:ngmp-events-new.png, 66%)]]
The second test case obtains and releases a mutex private to the task.
[[Image(ticket:2273:ngmp-mutex-old.png, 66%)]]
[[Image(ticket:2273:ngmp-mutex-new.png, 66%)]]
The third test case sends and receives a message to self.
[[Image(ticket:2273:ngmp-msg-old.png, 66%)]]
[[Image(ticket:2273:ngmp-msg-new.png, 66%)]]
The new implementation gets rid of the Giant lock bottleneck and scales
well with the processor count. In addition it yields more operations per
second on one processor.
|| ||= Operations on one Processor (Old) =||= Operations on one
Processor (New) =||= Change =||
||= Events to Self =|| 44262|| 82150|| 86%||
||= One Mutex per Task =|| 67998|| 42520|| 60%||
||= Message to Self =|| 58596|| 32591|| 80%||
--
Ticket URL: <http://devel.rtems.org/ticket/2273#comment:10>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list