summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/tmtests')
-rw-r--r--testsuites/tmtests/tm01/system.h1
-rw-r--r--testsuites/tmtests/tm02/system.h1
-rw-r--r--testsuites/tmtests/tm03/system.h1
-rw-r--r--testsuites/tmtests/tm04/system.h1
-rw-r--r--testsuites/tmtests/tm05/system.h1
-rw-r--r--testsuites/tmtests/tm06/system.h1
-rw-r--r--testsuites/tmtests/tm07/system.h1
-rw-r--r--testsuites/tmtests/tm08/system.h1
-rw-r--r--testsuites/tmtests/tm09/system.h1
-rw-r--r--testsuites/tmtests/tm10/system.h1
-rw-r--r--testsuites/tmtests/tm11/system.h1
-rw-r--r--testsuites/tmtests/tm12/system.h1
-rw-r--r--testsuites/tmtests/tm13/system.h1
-rw-r--r--testsuites/tmtests/tm14/system.h1
-rw-r--r--testsuites/tmtests/tm15/system.h1
-rw-r--r--testsuites/tmtests/tm16/system.h1
-rw-r--r--testsuites/tmtests/tm17/system.h1
-rw-r--r--testsuites/tmtests/tm18/system.h1
-rw-r--r--testsuites/tmtests/tm19/system.h1
-rw-r--r--testsuites/tmtests/tm20/system.h1
-rw-r--r--testsuites/tmtests/tm21/system.h1
-rw-r--r--testsuites/tmtests/tm22/system.h1
-rw-r--r--testsuites/tmtests/tm23/system.h1
-rw-r--r--testsuites/tmtests/tm24/system.h1
-rw-r--r--testsuites/tmtests/tm25/system.h1
-rw-r--r--testsuites/tmtests/tm26/system.h1
-rw-r--r--testsuites/tmtests/tm27/system.h1
-rw-r--r--testsuites/tmtests/tm27/task1.c100
-rw-r--r--testsuites/tmtests/tm28/system.h1
-rw-r--r--testsuites/tmtests/tm29/system.h1
-rw-r--r--testsuites/tmtests/tmck/system.h1
-rw-r--r--testsuites/tmtests/tmcontext01/init.c91
-rw-r--r--testsuites/tmtests/tmcontext01/plot.py73
-rw-r--r--testsuites/tmtests/tmcontext01/tmcontext01.scn379
-rw-r--r--testsuites/tmtests/tmfine01/init.c120
-rw-r--r--testsuites/tmtests/tmfine01/tmfine01.py93
-rw-r--r--testsuites/tmtests/tmfine01/tmfine01.scn4308
-rw-r--r--testsuites/tmtests/tmonetoone/init.c2
-rw-r--r--testsuites/tmtests/tmtimer01/init.c35
-rw-r--r--testsuites/tmtests/tmtimer01/plot.py52
-rw-r--r--testsuites/tmtests/tmtimer01/tmtimer01.scn389
41 files changed, 805 insertions, 4867 deletions
diff --git a/testsuites/tmtests/tm01/system.h b/testsuites/tmtests/tm01/system.h
index 10f694482f..d5f60d3c83 100644
--- a/testsuites/tmtests/tm01/system.h
+++ b/testsuites/tmtests/tm01/system.h
@@ -50,7 +50,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_MAXIMUM_TASKS 2
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm02/system.h b/testsuites/tmtests/tm02/system.h
index 0b2e4fb59a..66d3912f5a 100644
--- a/testsuites/tmtests/tm02/system.h
+++ b/testsuites/tmtests/tm02/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm03/system.h b/testsuites/tmtests/tm03/system.h
index 0b2e4fb59a..66d3912f5a 100644
--- a/testsuites/tmtests/tm03/system.h
+++ b/testsuites/tmtests/tm03/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm04/system.h b/testsuites/tmtests/tm04/system.h
index ecad2b492f..a330fde825 100644
--- a/testsuites/tmtests/tm04/system.h
+++ b/testsuites/tmtests/tm04/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (4 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm05/system.h b/testsuites/tmtests/tm05/system.h
index f00b626c36..28263f3051 100644
--- a/testsuites/tmtests/tm05/system.h
+++ b/testsuites/tmtests/tm05/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm06/system.h b/testsuites/tmtests/tm06/system.h
index f00b626c36..28263f3051 100644
--- a/testsuites/tmtests/tm06/system.h
+++ b/testsuites/tmtests/tm06/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm07/system.h b/testsuites/tmtests/tm07/system.h
index f00b626c36..28263f3051 100644
--- a/testsuites/tmtests/tm07/system.h
+++ b/testsuites/tmtests/tm07/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm08/system.h b/testsuites/tmtests/tm08/system.h
index 253cdaba54..7d642bd0a8 100644
--- a/testsuites/tmtests/tm08/system.h
+++ b/testsuites/tmtests/tm08/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 3
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm09/system.h b/testsuites/tmtests/tm09/system.h
index 3d12c68d07..da2da0b2ec 100644
--- a/testsuites/tmtests/tm09/system.h
+++ b/testsuites/tmtests/tm09/system.h
@@ -51,7 +51,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_MAXIMUM_TASKS 2
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_MESSAGE_BUFFER_MEMORY \
CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(OPERATION_COUNT, MESSAGE_SIZE)
diff --git a/testsuites/tmtests/tm10/system.h b/testsuites/tmtests/tm10/system.h
index ed5e9a12bb..e4c296f625 100644
--- a/testsuites/tmtests/tm10/system.h
+++ b/testsuites/tmtests/tm10/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_MESSAGE_BUFFER_MEMORY \
CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(OPERATION_COUNT, 16)
diff --git a/testsuites/tmtests/tm11/system.h b/testsuites/tmtests/tm11/system.h
index d4fa9fd404..9a2fc14aab 100644
--- a/testsuites/tmtests/tm11/system.h
+++ b/testsuites/tmtests/tm11/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm12/system.h b/testsuites/tmtests/tm12/system.h
index d4fa9fd404..9a2fc14aab 100644
--- a/testsuites/tmtests/tm12/system.h
+++ b/testsuites/tmtests/tm12/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm13/system.h b/testsuites/tmtests/tm13/system.h
index d4fa9fd404..9a2fc14aab 100644
--- a/testsuites/tmtests/tm13/system.h
+++ b/testsuites/tmtests/tm13/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm14/system.h b/testsuites/tmtests/tm14/system.h
index d4fa9fd404..9a2fc14aab 100644
--- a/testsuites/tmtests/tm14/system.h
+++ b/testsuites/tmtests/tm14/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm15/system.h b/testsuites/tmtests/tm15/system.h
index 9586199d27..fffabdf844 100644
--- a/testsuites/tmtests/tm15/system.h
+++ b/testsuites/tmtests/tm15/system.h
@@ -48,7 +48,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm16/system.h b/testsuites/tmtests/tm16/system.h
index b495e374b2..9eb6d69e85 100644
--- a/testsuites/tmtests/tm16/system.h
+++ b/testsuites/tmtests/tm16/system.h
@@ -48,7 +48,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (3 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm17/system.h b/testsuites/tmtests/tm17/system.h
index 9586199d27..fffabdf844 100644
--- a/testsuites/tmtests/tm17/system.h
+++ b/testsuites/tmtests/tm17/system.h
@@ -48,7 +48,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm18/system.h b/testsuites/tmtests/tm18/system.h
index f00b626c36..28263f3051 100644
--- a/testsuites/tmtests/tm18/system.h
+++ b/testsuites/tmtests/tm18/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm19/system.h b/testsuites/tmtests/tm19/system.h
index 3051d62961..bbae1e537f 100644
--- a/testsuites/tmtests/tm19/system.h
+++ b/testsuites/tmtests/tm19/system.h
@@ -48,7 +48,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 4
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm20/system.h b/testsuites/tmtests/tm20/system.h
index 3128bad743..145477232d 100644
--- a/testsuites/tmtests/tm20/system.h
+++ b/testsuites/tmtests/tm20/system.h
@@ -51,7 +51,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_MAXIMUM_TASKS 3
#define CONFIGURE_MAXIMUM_PARTITIONS 1
#define CONFIGURE_MAXIMUM_REGIONS 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm21/system.h b/testsuites/tmtests/tm21/system.h
index 53f3c01353..ef4e35fc7d 100644
--- a/testsuites/tmtests/tm21/system.h
+++ b/testsuites/tmtests/tm21/system.h
@@ -58,7 +58,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_PORTS OPERATION_COUNT
#define CONFIGURE_MAXIMUM_PERIODS OPERATION_COUNT
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm22/system.h b/testsuites/tmtests/tm22/system.h
index d256595fe7..621043dc7c 100644
--- a/testsuites/tmtests/tm22/system.h
+++ b/testsuites/tmtests/tm22/system.h
@@ -49,7 +49,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS 4
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_MESSAGE_BUFFER_MEMORY \
diff --git a/testsuites/tmtests/tm23/system.h b/testsuites/tmtests/tm23/system.h
index edee889a9e..41722a2c39 100644
--- a/testsuites/tmtests/tm23/system.h
+++ b/testsuites/tmtests/tm23/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (1 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_TIMERS OPERATION_COUNT
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm24/system.h b/testsuites/tmtests/tm24/system.h
index f00b626c36..28263f3051 100644
--- a/testsuites/tmtests/tm24/system.h
+++ b/testsuites/tmtests/tm24/system.h
@@ -46,7 +46,6 @@ rtems_task Init(
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm25/system.h b/testsuites/tmtests/tm25/system.h
index 112881f52a..423a30eba8 100644
--- a/testsuites/tmtests/tm25/system.h
+++ b/testsuites/tmtests/tm25/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm26/system.h b/testsuites/tmtests/tm26/system.h
index 762a7051b0..d66dfa81dd 100644
--- a/testsuites/tmtests/tm26/system.h
+++ b/testsuites/tmtests/tm26/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (6 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT
diff --git a/testsuites/tmtests/tm27/system.h b/testsuites/tmtests/tm27/system.h
index b3f40c9d8c..4a2723bcd4 100644
--- a/testsuites/tmtests/tm27/system.h
+++ b/testsuites/tmtests/tm27/system.h
@@ -48,7 +48,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 3
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c
index 54aca545b8..7f2ce6663c 100644
--- a/testsuites/tmtests/tm27/task1.c
+++ b/testsuites/tmtests/tm27/task1.c
@@ -62,10 +62,6 @@ volatile uint32_t Interrupt_return_time, Interrupt_return_nested_time;
uint32_t Interrupt_nest;
uint32_t timer_overhead;
-rtems_isr Isr_handler(
- rtems_vector_number vector
-);
-
static void set_thread_executing( Thread_Control *thread )
{
_Per_CPU_Get_snapshot()->executing = thread;
@@ -126,6 +122,55 @@ rtems_task Init(
rtems_task_exit();
}
+/* The Isr_handler() and Isr_handler_inner() routines are structured
+ * so that there will be as little entry overhead as possible included
+ * in the interrupt entry time.
+ */
+
+static void Isr_handler_inner( void )
+{
+
+ /*enable_tracing();*/
+ Clear_tm27_intr();
+ switch ( Interrupt_nest ) {
+ case 0:
+ Interrupt_enter_time = end_time;
+ break;
+ case 1:
+ Interrupt_enter_time = end_time;
+ Interrupt_nest = 2;
+ Interrupt_occurred = 0;
+ Lower_tm27_intr();
+ benchmark_timer_initialize();
+ Cause_tm27_intr();
+ /* goes to a nested copy of Isr_handler */
+#if (MUST_WAIT_FOR_INTERRUPT == 1)
+ while ( Interrupt_occurred == 0 );
+#endif
+ Interrupt_return_nested_time = benchmark_timer_read();
+ break;
+ case 2:
+ Interrupt_enter_nested_time = end_time;
+ break;
+ }
+
+ benchmark_timer_initialize();
+}
+
+#ifdef TM27_USE_VECTOR_HANDLER
+static rtems_isr Isr_handler( rtems_vector_number arg )
+#else
+static void Isr_handler( void *arg )
+#endif
+{
+ (void) arg;
+
+ end_time = benchmark_timer_read();
+
+ Interrupt_occurred = 1;
+ Isr_handler_inner();
+}
+
rtems_task Task_1(
rtems_task_argument argument
)
@@ -302,50 +347,3 @@ rtems_task Task_2(
_Thread_Dispatch();
}
-
-/* The Isr_handler() and Isr_handler_inner() routines are structured
- * so that there will be as little entry overhead as possible included
- * in the interrupt entry time.
- */
-
-void Isr_handler_inner( void );
-
-rtems_isr Isr_handler(
- rtems_vector_number vector
-)
-{
- end_time = benchmark_timer_read();
-
- Interrupt_occurred = 1;
- Isr_handler_inner();
-}
-
-void Isr_handler_inner( void )
-{
-
- /*enable_tracing();*/
- Clear_tm27_intr();
- switch ( Interrupt_nest ) {
- case 0:
- Interrupt_enter_time = end_time;
- break;
- case 1:
- Interrupt_enter_time = end_time;
- Interrupt_nest = 2;
- Interrupt_occurred = 0;
- Lower_tm27_intr();
- benchmark_timer_initialize();
- Cause_tm27_intr();
- /* goes to a nested copy of Isr_handler */
-#if (MUST_WAIT_FOR_INTERRUPT == 1)
- while ( Interrupt_occurred == 0 );
-#endif
- Interrupt_return_nested_time = benchmark_timer_read();
- break;
- case 2:
- Interrupt_enter_nested_time = end_time;
- break;
- }
-
- benchmark_timer_initialize();
-}
diff --git a/testsuites/tmtests/tm28/system.h b/testsuites/tmtests/tm28/system.h
index f570f52849..bec8393510 100644
--- a/testsuites/tmtests/tm28/system.h
+++ b/testsuites/tmtests/tm28/system.h
@@ -49,7 +49,6 @@ rtems_id Task_id[ OPERATION_COUNT+1 ]; /* array of task ids */
#define CONFIGURE_MAXIMUM_TASKS 2
#define CONFIGURE_MAXIMUM_PORTS 1
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tm29/system.h b/testsuites/tmtests/tm29/system.h
index 0c8e6e48cf..380878abb0 100644
--- a/testsuites/tmtests/tm29/system.h
+++ b/testsuites/tmtests/tm29/system.h
@@ -47,7 +47,6 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS (2 + OPERATION_COUNT)
#define CONFIGURE_MAXIMUM_PERIODS OPERATION_COUNT
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT_TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE * 2)
diff --git a/testsuites/tmtests/tmck/system.h b/testsuites/tmtests/tmck/system.h
index 6a33ed4374..6fad74389e 100644
--- a/testsuites/tmtests/tmck/system.h
+++ b/testsuites/tmtests/tmck/system.h
@@ -48,7 +48,6 @@ rtems_name Task_name[ OPERATION_COUNT+1 ]; /* array of task names */
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 2
-#define CONFIGURE_TICKS_PER_TIMESLICE 0
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/tmtests/tmcontext01/init.c b/testsuites/tmtests/tmcontext01/init.c
index 3e667cff4e..dc1da718c7 100644
--- a/testsuites/tmtests/tmcontext01/init.c
+++ b/testsuites/tmtests/tmcontext01/init.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (c) 2014, 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2014, 2017 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -49,8 +49,6 @@ const char rtems_test_name[] = "TMCONTEXT 1";
static rtems_counter_ticks t[SAMPLES];
-static volatile int prevent_optimization;
-
static size_t cache_line_size;
static size_t data_size;
@@ -72,43 +70,31 @@ static int dirty_data_cache(volatile int *data, size_t n, size_t clsz, int j)
return i + j;
}
-static int call_at_level(
+static __attribute__((__noipa__)) void call_at_level(
int start,
int fl,
- int s,
- bool dirty
+ int s
)
{
- int prevent_optimization;;
-
- prevent_optimization = start + fl;
-
+#if defined(__sparc__)
if (fl == start) {
- /*
- * Some architectures like the SPARC have register windows. A side-effect
- * of this context switch is that we start with a fresh window set. On
- * architectures like ARM or PowerPC this context switch has no effect.
- */
- _Context_Switch(&ctx, &ctx);
+ /* Flush register windows */
+ __asm__ volatile ("ta 3" : : : "memory");
}
+#endif
if (fl > 0) {
call_at_level(
start,
fl - 1,
- s,
- dirty
+ s
);
+ __asm__ volatile ("" : : : "memory");
} else {
char *volatile space;
rtems_counter_ticks a;
rtems_counter_ticks b;
- if (dirty) {
- dirty_data_cache(main_data, data_size, cache_line_size, fl);
- rtems_cache_invalidate_entire_instruction();
- }
-
a = rtems_counter_read();
/* Ensure that we use an untouched stack area */
@@ -120,8 +106,6 @@ static int call_at_level(
b = rtems_counter_read();
t[s] = rtems_counter_difference(b, a);
}
-
- return prevent_optimization;
}
static void load_task(rtems_task_argument arg)
@@ -149,7 +133,7 @@ static void sort_t(void)
qsort(&t[0], SAMPLES, sizeof(t[0]), cmp);
}
-static void test_by_function_level(int fl, bool dirty)
+static __attribute__((__noipa__)) void test_by_function_level(int fl, bool dirty)
{
RTEMS_INTERRUPT_LOCK_DECLARE(, lock)
rtems_interrupt_lock_context lock_context;
@@ -160,13 +144,16 @@ static void test_by_function_level(int fl, bool dirty)
uint64_t q3;
uint64_t max;
- fl += prevent_optimization;
-
rtems_interrupt_lock_initialize(&lock, "test");
rtems_interrupt_lock_acquire(&lock, &lock_context);
for (s = 0; s < SAMPLES; ++s) {
- call_at_level(fl, fl, s, dirty);
+ if (dirty) {
+ dirty_data_cache(main_data, data_size, cache_line_size, fl);
+ rtems_cache_invalidate_entire_instruction();
+ }
+
+ call_at_level(fl, fl, s);
}
rtems_interrupt_lock_release(&lock, &lock_context);
@@ -181,14 +168,8 @@ static void test_by_function_level(int fl, bool dirty)
max = t[SAMPLES - 1];
printf(
- " <Sample functionNestLevel=\"%i\">\n"
- " <Min unit=\"ns\">%" PRIu64 "</Min>"
- "<Q1 unit=\"ns\">%" PRIu64 "</Q1>"
- "<Q2 unit=\"ns\">%" PRIu64 "</Q2>"
- "<Q3 unit=\"ns\">%" PRIu64 "</Q3>"
- "<Max unit=\"ns\">%" PRIu64 "</Max>\n"
- " </Sample>\n",
- fl,
+ "%s\n [%" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 "]",
+ fl == 0 ? "" : ",",
rtems_counter_ticks_to_nanoseconds(min),
rtems_counter_ticks_to_nanoseconds(q1),
rtems_counter_ticks_to_nanoseconds(q2),
@@ -197,26 +178,38 @@ static void test_by_function_level(int fl, bool dirty)
);
}
-static void test(bool dirty, uint32_t load)
+static void test(bool first, bool dirty, uint32_t load)
{
int fl;
printf(
- " <ContextSwitchTest environment=\"%s\"",
- dirty ? "dirty" : "normal"
+ "\n %s{\n"
+ " \"environment\": \"",
+ first ? "" : "}, "
);
- if (load > 0) {
- printf(" load=\"%" PRIu32 "\"", load);
+ if (dirty) {
+ if (load > 0) {
+ printf("Load/%" PRIu32 "", load);
+ } else {
+ printf("DirtyCache");
+ }
+ } else {
+ printf("HotCache");
}
- printf(">\n");
+ printf(
+ "\",\n"
+ " \"stats-by-function-nest-level\": ["
+ );
for (fl = 0; fl < FUNCTION_LEVELS; ++fl) {
test_by_function_level(fl, dirty);
}
- printf(" </ContextSwitchTest>\n");
+ printf(
+ "\n ]"
+ );
}
static void Init(rtems_task_argument arg)
@@ -225,7 +218,7 @@ static void Init(rtems_task_argument arg)
TEST_BEGIN();
- printf("<Test>\n");
+ printf("*** BEGIN OF JSON DATA ***\n[");
cache_line_size = rtems_cache_get_data_line_size();
if (cache_line_size == 0) {
@@ -240,8 +233,8 @@ static void Init(rtems_task_argument arg)
main_data = malloc(data_size);
rtems_test_assert(main_data != NULL);
- test(false, load);
- test(true, load);
+ test(true, false, load);
+ test(false, true, load);
for (load = 1; load < rtems_scheduler_get_processor_maximum(); ++load) {
rtems_status_code sc;
@@ -266,10 +259,10 @@ static void Init(rtems_task_argument arg)
sc = rtems_task_start(id, load_task, (rtems_task_argument) load_data);
rtems_test_assert(sc == RTEMS_SUCCESSFUL);
- test(true, load);
+ test(false, true, load);
}
- printf("</Test>\n");
+ printf("\n }\n]\n*** END OF JSON DATA ***\n");
TEST_END();
rtems_test_exit(0);
diff --git a/testsuites/tmtests/tmcontext01/plot.py b/testsuites/tmtests/tmcontext01/plot.py
index 56d46c654d..944a5962c2 100644
--- a/testsuites/tmtests/tmcontext01/plot.py
+++ b/testsuites/tmtests/tmcontext01/plot.py
@@ -1,7 +1,6 @@
# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+# Copyright (C) 2014, 2024 embedded brains GmbH & Co. KG
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -23,48 +22,38 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-#
-import libxml2
-from libxml2 import xmlNode
-import matplotlib.pyplot as plt
-doc = libxml2.parseFile("tmcontext01.scn")
-ctx = doc.xpathNewContext()
+import json
+import re
+import matplotlib.pyplot as plt # type: ignore
+from matplotlib import ticker # type: ignore
+
+
+def _plot(data: dict) -> None:
+ _, axes = plt.subplots()
+ axes.set_title("Context Switch Timing Test")
+ axes.set_xlabel("Function Nest Level")
+ axes.set_ylabel("Context Switch Time [μs]")
+ x = list(range(0, len(data[0]["stats-by-function-nest-level"])))
+ axes.xaxis.set_major_locator(ticker.FixedLocator(x))
+ for samples in data:
+ y = [
+ values[2] / 1000.0
+ for values in samples["stats-by-function-nest-level"]
+ ]
+ axes.plot(x, y, label=samples["environment"], marker='o')
+ axes.legend(loc='best')
+ plt.savefig("tmcontext01.png")
+ plt.savefig("tmcontext01.pdf")
+ plt.close()
-colors = ['k', 'r', 'b', 'g', 'y', 'm']
-def plot(y, color, label, first):
- n=len(y)
- x=range(0, n)
- if first:
- plt.plot(x, y, color=color, label=label)
- else:
- plt.plot(x, y, color=color)
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
-plt.title("context switch timing test")
-plt.xlabel('function nest level')
-plt.ylabel('context switch time [ns]')
+with open("tmcontext01.scn", "r", encoding="utf-8") as src:
+ match = _JSON_DATA.search(src.read())
+ data = json.loads(match.group(1))
-c = 0
-for e in ["normal", "dirty"]:
- first = True
- for i in ["Min", "Q1", "Q2", "Q3", "Max"]:
- y=map(xmlNode.getContent, ctx.xpathEval("/Test/ContextSwitchTest[@environment='" + e + "' and not(@load)]/Sample/" + i))
- plot(y, colors[c], e, first)
- first = False
- c = c + 1
-load = 1
-while load > 0:
- first = True
- for i in ["Min", "Q1", "Q2", "Q3", "Max"]:
- y=map(xmlNode.getContent, ctx.xpathEval("/Test/ContextSwitchTest[@environment='dirty' and @load='" + str(load) + "']/Sample/" + i))
- if len(y) > 0:
- plot(y, colors[c], "load " + str(load), first)
- first = False
- else:
- load = 0
- if load > 0:
- load = load + 1
- c = c + 1
-plt.legend()
-plt.show()
+_plot(data)
diff --git a/testsuites/tmtests/tmcontext01/tmcontext01.scn b/testsuites/tmtests/tmcontext01/tmcontext01.scn
index 9044619319..8347d8b3fb 100644
--- a/testsuites/tmtests/tmcontext01/tmcontext01.scn
+++ b/testsuites/tmtests/tmcontext01/tmcontext01.scn
@@ -1,255 +1,124 @@
-<?xml version="1.0"?>
-<!-- *** TEST TMCONTEXT 1 *** -->
-<Test>
- <ContextSwitchTest environment="normal">
- <Sample functionNestLevel="0">
- <Min unit="ns">2440</Min><Q1 unit="ns">2440</Q1><Q2 unit="ns">2480</Q2><Q3 unit="ns">2480</Q3><Max unit="ns">2800</Max>
- </Sample>
- <Sample functionNestLevel="1">
- <Min unit="ns">3520</Min><Q1 unit="ns">3760</Q1><Q2 unit="ns">3800</Q2><Q3 unit="ns">3800</Q3><Max unit="ns">4120</Max>
- </Sample>
- <Sample functionNestLevel="2">
- <Min unit="ns">4280</Min><Q1 unit="ns">4720</Q1><Q2 unit="ns">4720</Q2><Q3 unit="ns">5040</Q3><Max unit="ns">5080</Max>
- </Sample>
- <Sample functionNestLevel="3">
- <Min unit="ns">5320</Min><Q1 unit="ns">5640</Q1><Q2 unit="ns">5680</Q2><Q3 unit="ns">5960</Q3><Max unit="ns">6000</Max>
- </Sample>
- <Sample functionNestLevel="4">
- <Min unit="ns">6360</Min><Q1 unit="ns">6600</Q1><Q2 unit="ns">6600</Q2><Q3 unit="ns">6920</Q3><Max unit="ns">6920</Max>
- </Sample>
- <Sample functionNestLevel="5">
- <Min unit="ns">7480</Min><Q1 unit="ns">7520</Q1><Q2 unit="ns">7840</Q2><Q3 unit="ns">7840</Q3><Max unit="ns">7880</Max>
- </Sample>
- <Sample functionNestLevel="6">
- <Min unit="ns">8480</Min><Q1 unit="ns">8480</Q1><Q2 unit="ns">8800</Q2><Q3 unit="ns">8800</Q3><Max unit="ns">8840</Max>
- </Sample>
- <Sample functionNestLevel="7">
- <Min unit="ns">8840</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9280</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9320</Max>
- </Sample>
- <Sample functionNestLevel="8">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9280</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9320</Max>
- </Sample>
- <Sample functionNestLevel="9">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">8960</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- <Sample functionNestLevel="10">
- <Min unit="ns">8800</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9240</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- <Sample functionNestLevel="11">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9280</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- <Sample functionNestLevel="12">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9240</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9320</Max>
- </Sample>
- <Sample functionNestLevel="13">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9240</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- <Sample functionNestLevel="14">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">9240</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- <Sample functionNestLevel="15">
- <Min unit="ns">8920</Min><Q1 unit="ns">8960</Q1><Q2 unit="ns">8960</Q2><Q3 unit="ns">9280</Q3><Max unit="ns">9280</Max>
- </Sample>
- </ContextSwitchTest>
- <ContextSwitchTest environment="dirty">
- <Sample functionNestLevel="0">
- <Min unit="ns">9720</Min><Q1 unit="ns">10560</Q1><Q2 unit="ns">10600</Q2><Q3 unit="ns">10680</Q3><Max unit="ns">11160</Max>
- </Sample>
- <Sample functionNestLevel="1">
- <Min unit="ns">11840</Min><Q1 unit="ns">12280</Q1><Q2 unit="ns">12560</Q2><Q3 unit="ns">12600</Q3><Max unit="ns">12640</Max>
- </Sample>
- <Sample functionNestLevel="2">
- <Min unit="ns">12880</Min><Q1 unit="ns">13560</Q1><Q2 unit="ns">13600</Q2><Q3 unit="ns">13640</Q3><Max unit="ns">13680</Max>
- </Sample>
- <Sample functionNestLevel="3">
- <Min unit="ns">13960</Min><Q1 unit="ns">14640</Q1><Q2 unit="ns">14680</Q2><Q3 unit="ns">14720</Q3><Max unit="ns">14720</Max>
- </Sample>
- <Sample functionNestLevel="4">
- <Min unit="ns">15000</Min><Q1 unit="ns">15680</Q1><Q2 unit="ns">15760</Q2><Q3 unit="ns">15760</Q3><Max unit="ns">15800</Max>
- </Sample>
- <Sample functionNestLevel="5">
- <Min unit="ns">16320</Min><Q1 unit="ns">16720</Q1><Q2 unit="ns">16800</Q2><Q3 unit="ns">16800</Q3><Max unit="ns">17040</Max>
- </Sample>
- <Sample functionNestLevel="6">
- <Min unit="ns">17320</Min><Q1 unit="ns">17560</Q1><Q2 unit="ns">17800</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18160</Max>
- </Sample>
- <Sample functionNestLevel="7">
- <Min unit="ns">17440</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18160</Max>
- </Sample>
- <Sample functionNestLevel="8">
- <Min unit="ns">17360</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18200</Max>
- </Sample>
- <Sample functionNestLevel="9">
- <Min unit="ns">17400</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18120</Max>
- </Sample>
- <Sample functionNestLevel="10">
- <Min unit="ns">17320</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18200</Max>
- </Sample>
- <Sample functionNestLevel="11">
- <Min unit="ns">17360</Min><Q1 unit="ns">17840</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18160</Max>
- </Sample>
- <Sample functionNestLevel="12">
- <Min unit="ns">17360</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18160</Max>
- </Sample>
- <Sample functionNestLevel="13">
- <Min unit="ns">17360</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18200</Max>
- </Sample>
- <Sample functionNestLevel="14">
- <Min unit="ns">17760</Min><Q1 unit="ns">17840</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18200</Max>
- </Sample>
- <Sample functionNestLevel="15">
- <Min unit="ns">17360</Min><Q1 unit="ns">17800</Q1><Q2 unit="ns">17840</Q2><Q3 unit="ns">17880</Q3><Max unit="ns">18200</Max>
- </Sample>
- </ContextSwitchTest>
- <ContextSwitchTest environment="dirty" load="1">
- <Sample functionNestLevel="0">
- <Min unit="ns">23800</Min><Q1 unit="ns">24440</Q1><Q2 unit="ns">24640</Q2><Q3 unit="ns">24720</Q3><Max unit="ns">25080</Max>
- </Sample>
- <Sample functionNestLevel="1">
- <Min unit="ns">28040</Min><Q1 unit="ns">28560</Q1><Q2 unit="ns">28640</Q2><Q3 unit="ns">28680</Q3><Max unit="ns">28720</Max>
- </Sample>
- <Sample functionNestLevel="2">
- <Min unit="ns">31600</Min><Q1 unit="ns">32160</Q1><Q2 unit="ns">32160</Q2><Q3 unit="ns">32200</Q3><Max unit="ns">32280</Max>
- </Sample>
- <Sample functionNestLevel="3">
- <Min unit="ns">35400</Min><Q1 unit="ns">35720</Q1><Q2 unit="ns">35760</Q2><Q3 unit="ns">35920</Q3><Max unit="ns">36080</Max>
- </Sample>
- <Sample functionNestLevel="4">
- <Min unit="ns">38960</Min><Q1 unit="ns">39280</Q1><Q2 unit="ns">39320</Q2><Q3 unit="ns">39560</Q3><Max unit="ns">39640</Max>
- </Sample>
- <Sample functionNestLevel="5">
- <Min unit="ns">42480</Min><Q1 unit="ns">42840</Q1><Q2 unit="ns">43080</Q2><Q3 unit="ns">43120</Q3><Max unit="ns">43200</Max>
- </Sample>
- <Sample functionNestLevel="6">
- <Min unit="ns">46120</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46880</Max>
- </Sample>
- <Sample functionNestLevel="7">
- <Min unit="ns">46080</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46760</Max>
- </Sample>
- <Sample functionNestLevel="8">
- <Min unit="ns">46320</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">47040</Max>
- </Sample>
- <Sample functionNestLevel="9">
- <Min unit="ns">46040</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46960</Max>
- </Sample>
- <Sample functionNestLevel="10">
- <Min unit="ns">45960</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46960</Max>
- </Sample>
- <Sample functionNestLevel="11">
- <Min unit="ns">46040</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46720</Max>
- </Sample>
- <Sample functionNestLevel="12">
- <Min unit="ns">46080</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46920</Max>
- </Sample>
- <Sample functionNestLevel="13">
- <Min unit="ns">46080</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46720</Max>
- </Sample>
- <Sample functionNestLevel="14">
- <Min unit="ns">46280</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">46760</Max>
- </Sample>
- <Sample functionNestLevel="15">
- <Min unit="ns">46360</Min><Q1 unit="ns">46600</Q1><Q2 unit="ns">46640</Q2><Q3 unit="ns">46680</Q3><Max unit="ns">47040</Max>
- </Sample>
- </ContextSwitchTest>
- <ContextSwitchTest environment="dirty" load="2">
- <Sample functionNestLevel="0">
- <Min unit="ns">37560</Min><Q1 unit="ns">38200</Q1><Q2 unit="ns">38240</Q2><Q3 unit="ns">38480</Q3><Max unit="ns">38600</Max>
- </Sample>
- <Sample functionNestLevel="1">
- <Min unit="ns">44880</Min><Q1 unit="ns">45480</Q1><Q2 unit="ns">45560</Q2><Q3 unit="ns">45600</Q3><Max unit="ns">45640</Max>
- </Sample>
- <Sample functionNestLevel="2">
- <Min unit="ns">50920</Min><Q1 unit="ns">51560</Q1><Q2 unit="ns">51600</Q2><Q3 unit="ns">51800</Q3><Max unit="ns">51960</Max>
- </Sample>
- <Sample functionNestLevel="3">
- <Min unit="ns">57320</Min><Q1 unit="ns">57640</Q1><Q2 unit="ns">57880</Q2><Q3 unit="ns">57920</Q3><Max unit="ns">58240</Max>
- </Sample>
- <Sample functionNestLevel="4">
- <Min unit="ns">63320</Min><Q1 unit="ns">63920</Q1><Q2 unit="ns">63960</Q2><Q3 unit="ns">64000</Q3><Max unit="ns">64600</Max>
- </Sample>
- <Sample functionNestLevel="5">
- <Min unit="ns">69840</Min><Q1 unit="ns">69960</Q1><Q2 unit="ns">70040</Q2><Q3 unit="ns">70240</Q3><Max unit="ns">70400</Max>
- </Sample>
- <Sample functionNestLevel="6">
- <Min unit="ns">75600</Min><Q1 unit="ns">76200</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76880</Max>
- </Sample>
- <Sample functionNestLevel="7">
- <Min unit="ns">75440</Min><Q1 unit="ns">76240</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76840</Max>
- </Sample>
- <Sample functionNestLevel="8">
- <Min unit="ns">75640</Min><Q1 unit="ns">76200</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76960</Max>
- </Sample>
- <Sample functionNestLevel="9">
- <Min unit="ns">75640</Min><Q1 unit="ns">76240</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76440</Max>
- </Sample>
- <Sample functionNestLevel="10">
- <Min unit="ns">75920</Min><Q1 unit="ns">76240</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76400</Max>
- </Sample>
- <Sample functionNestLevel="11">
- <Min unit="ns">75600</Min><Q1 unit="ns">76200</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76920</Max>
- </Sample>
- <Sample functionNestLevel="12">
- <Min unit="ns">75360</Min><Q1 unit="ns">76200</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76440</Max>
- </Sample>
- <Sample functionNestLevel="13">
- <Min unit="ns">75360</Min><Q1 unit="ns">76200</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76960</Max>
- </Sample>
- <Sample functionNestLevel="14">
- <Min unit="ns">75640</Min><Q1 unit="ns">76160</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76960</Max>
- </Sample>
- <Sample functionNestLevel="15">
- <Min unit="ns">75960</Min><Q1 unit="ns">76240</Q1><Q2 unit="ns">76280</Q2><Q3 unit="ns">76320</Q3><Max unit="ns">76400</Max>
- </Sample>
- </ContextSwitchTest>
- <ContextSwitchTest environment="dirty" load="3">
- <Sample functionNestLevel="0">
- <Min unit="ns">52400</Min><Q1 unit="ns">52480</Q1><Q2 unit="ns">52520</Q2><Q3 unit="ns">52800</Q3><Max unit="ns">53720</Max>
- </Sample>
- <Sample functionNestLevel="1">
- <Min unit="ns">61680</Min><Q1 unit="ns">62600</Q1><Q2 unit="ns">62640</Q2><Q3 unit="ns">62680</Q3><Max unit="ns">62800</Max>
- </Sample>
- <Sample functionNestLevel="2">
- <Min unit="ns">70160</Min><Q1 unit="ns">71160</Q1><Q2 unit="ns">71360</Q2><Q3 unit="ns">71480</Q3><Max unit="ns">72160</Max>
- </Sample>
- <Sample functionNestLevel="3">
- <Min unit="ns">79000</Min><Q1 unit="ns">79960</Q1><Q2 unit="ns">80000</Q2><Q3 unit="ns">80000</Q3><Max unit="ns">80920</Max>
- </Sample>
- <Sample functionNestLevel="4">
- <Min unit="ns">87600</Min><Q1 unit="ns">88480</Q1><Q2 unit="ns">88760</Q2><Q3 unit="ns">88800</Q3><Max unit="ns">88880</Max>
- </Sample>
- <Sample functionNestLevel="5">
- <Min unit="ns">96320</Min><Q1 unit="ns">97280</Q1><Q2 unit="ns">97320</Q2><Q3 unit="ns">97360</Q3><Max unit="ns">98600</Max>
- </Sample>
- <Sample functionNestLevel="6">
- <Min unit="ns">105160</Min><Q1 unit="ns">105840</Q1><Q2 unit="ns">106080</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">107120</Max>
- </Sample>
- <Sample functionNestLevel="7">
- <Min unit="ns">105200</Min><Q1 unit="ns">106040</Q1><Q2 unit="ns">106120</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">107080</Max>
- </Sample>
- <Sample functionNestLevel="8">
- <Min unit="ns">104880</Min><Q1 unit="ns">105920</Q1><Q2 unit="ns">106080</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106280</Max>
- </Sample>
- <Sample functionNestLevel="9">
- <Min unit="ns">105760</Min><Q1 unit="ns">106000</Q1><Q2 unit="ns">106120</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106280</Max>
- </Sample>
- <Sample functionNestLevel="10">
- <Min unit="ns">104880</Min><Q1 unit="ns">105880</Q1><Q2 unit="ns">106080</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">107080</Max>
- </Sample>
- <Sample functionNestLevel="11">
- <Min unit="ns">105720</Min><Q1 unit="ns">105960</Q1><Q2 unit="ns">106120</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106240</Max>
- </Sample>
- <Sample functionNestLevel="12">
- <Min unit="ns">104960</Min><Q1 unit="ns">105880</Q1><Q2 unit="ns">106080</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106280</Max>
- </Sample>
- <Sample functionNestLevel="13">
- <Min unit="ns">104880</Min><Q1 unit="ns">105880</Q1><Q2 unit="ns">106120</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106280</Max>
- </Sample>
- <Sample functionNestLevel="14">
- <Min unit="ns">105720</Min><Q1 unit="ns">105880</Q1><Q2 unit="ns">106080</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106240</Max>
- </Sample>
- <Sample functionNestLevel="15">
- <Min unit="ns">104920</Min><Q1 unit="ns">105840</Q1><Q2 unit="ns">106120</Q2><Q3 unit="ns">106160</Q3><Max unit="ns">106280</Max>
- </Sample>
- </ContextSwitchTest>
-</Test>
-<!-- *** END OF TEST TMCONTEXT 1 *** -->
+
+ SIS - SPARC/RISCV instruction simulator 2.30, copyright Jiri Gaisler 2020
+ Bug-reports to jiri@gaisler.se
+
+ GR740/LEON4 emulation enabled, 4 cpus online, delta 50 clocks
+
+ Loaded build/sparc/gr740/testsuites/tmtests/tmcontext01.exe, entry 0x00000000
+
+
+*** BEGIN OF TEST TMCONTEXT 1 ***
+*** TEST VERSION: 6.0.0.aa07dc10645c3dc855c3df2b53520aebc2751b06
+*** TEST STATE: EXPECTED_PASS
+*** TEST BUILD: RTEMS_SMP
+*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448)
+*** BEGIN OF JSON DATA ***
+[
+ {
+ "environment": "HotCache",
+ "stats-by-function-nest-level": [
+ [2820, 2820, 2820, 2820, 2820],
+ [3640, 3640, 3640, 3640, 3640],
+ [4460, 4460, 4460, 4460, 4460],
+ [5280, 5280, 5280, 5280, 5280],
+ [6100, 6100, 6100, 6100, 6100],
+ [6920, 6920, 6920, 6920, 6920],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740]
+ ]
+ }, {
+ "environment": "DirtyCache",
+ "stats-by-function-nest-level": [
+ [2820, 2820, 2820, 2820, 2820],
+ [3640, 3640, 3640, 3640, 3640],
+ [4460, 4460, 4460, 4460, 4460],
+ [5280, 5280, 5280, 5280, 5280],
+ [6100, 6100, 6100, 6100, 6100],
+ [6920, 6920, 6920, 6920, 6920],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740]
+ ]
+ }, {
+ "environment": "Load/1",
+ "stats-by-function-nest-level": [
+ [2820, 2820, 2820, 2820, 2820],
+ [3640, 3640, 3640, 3640, 3640],
+ [4460, 4460, 4460, 4460, 4460],
+ [5280, 5280, 5280, 5280, 5280],
+ [6100, 6100, 6100, 6100, 6100],
+ [6920, 6920, 6920, 6920, 6920],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740]
+ ]
+ }, {
+ "environment": "Load/2",
+ "stats-by-function-nest-level": [
+ [2820, 2820, 2820, 2820, 2820],
+ [3640, 3640, 3640, 3640, 3640],
+ [4460, 4460, 4460, 4460, 4460],
+ [5280, 5280, 5280, 5280, 5280],
+ [6100, 6100, 6100, 6100, 6100],
+ [6920, 6920, 6920, 6920, 6920],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740]
+ ]
+ }, {
+ "environment": "Load/3",
+ "stats-by-function-nest-level": [
+ [2820, 2820, 2820, 2820, 2820],
+ [3640, 3640, 3640, 3640, 3640],
+ [4460, 4460, 4460, 4460, 4460],
+ [5280, 5280, 5280, 5280, 5280],
+ [6100, 6100, 6100, 6100, 6100],
+ [6920, 6920, 6920, 6920, 6920],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740],
+ [7740, 7740, 7740, 7740, 7740]
+ ]
+ }
+]
+*** END OF JSON DATA ***
+
+*** END OF TEST TMCONTEXT 1 ***
+
+cpu 3 in error mode (tt = 0x80)
+ 2081487650 00009060: 91d02000 ta 0x0
diff --git a/testsuites/tmtests/tmfine01/init.c b/testsuites/tmtests/tmfine01/init.c
index a93e2d3470..c05894f6da 100644
--- a/testsuites/tmtests/tmfine01/init.c
+++ b/testsuites/tmtests/tmfine01/init.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (c) 2015, 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2015, 2024 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -55,6 +55,8 @@ typedef struct {
typedef struct {
rtems_test_parallel_context base;
+ const char *test_sep;
+ const char *counter_sep;
rtems_id master;
rtems_id sema;
rtems_id mq[CPU_COUNT];
@@ -89,24 +91,46 @@ static rtems_interval test_init(
}
static void test_fini(
- const char *name,
+ test_context *ctx,
+ const char *type,
+ const char *description,
uint32_t *counters,
size_t active_workers
)
{
+ const char *value_sep;
size_t i;
- printf(" <%s activeWorker=\"%zu\">\n", name, active_workers);
+ if (active_workers == 1) {
+ printf(
+ "%s{\n"
+ " \"type\": \"%s\",\n"
+ " \"description\": \"%s\",\n"
+ " \"counter\": [",
+ ctx->test_sep,
+ type,
+ description
+ );
+ ctx->test_sep = ", ";
+ ctx->counter_sep = "\n ";
+ }
+
+ printf("%s[", ctx->counter_sep);
+ ctx->counter_sep = "],\n ";
+ value_sep = "";
for (i = 0; i < active_workers; ++i) {
printf(
- " <Counter worker=\"%zu\">%" PRIu32 "</Counter>\n",
- i,
+ "%s%" PRIu32,
+ value_sep,
counters[i]
);
+ value_sep = ", ";
}
- printf(" </%s>\n", name);
+ if (active_workers == rtems_scheduler_get_processor_maximum()) {
+ printf("]\n ]\n }");
+ }
}
static void test_self_event_body(
@@ -150,7 +174,9 @@ static void test_self_event_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "SelfEvent",
+ ctx,
+ "event",
+ "Send Event to Self",
&ctx->self_event_ops[active_workers - 1][0],
active_workers
);
@@ -201,7 +227,9 @@ static void test_all_to_one_event_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "AllToOneEvent",
+ ctx,
+ "event",
+ "Send Event to One",
&ctx->all_to_one_event_ops[active_workers - 1][0],
active_workers
);
@@ -242,7 +270,9 @@ static void test_one_mutex_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "OneMutex",
+ ctx,
+ "contested-mutex",
+ "Obtain/Release Contested Classic Inheritance Mutex",
&ctx->one_mutex_ops[active_workers - 1][0],
active_workers
);
@@ -296,7 +326,9 @@ static void test_many_mutex_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyMutex",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Classic Inheritance Mutex",
&ctx->many_mutex_ops[active_workers - 1][0],
active_workers
);
@@ -347,7 +379,9 @@ static void test_self_msg_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "SelfMsg",
+ ctx,
+ "message",
+ "Send Message to Self",
&ctx->self_msg_ops[active_workers - 1][0],
active_workers
);
@@ -401,7 +435,9 @@ static void test_many_to_one_msg_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyToOneMsg",
+ ctx,
+ "message",
+ "Send Message to One Receiver",
&ctx->many_to_one_msg_ops[active_workers - 1][0],
active_workers
);
@@ -439,7 +475,9 @@ static void test_many_sys_lock_mutex_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManySysLockMutex",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private <sys/lock.h> Mutex",
&ctx->many_sys_lock_mutex_ops[active_workers - 1][0],
active_workers
);
@@ -493,7 +531,9 @@ static void test_many_classic_ceiling_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyClassicCeilingMutex",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Classic Ceiling Mutex",
&ctx->many_classic_ceiling_ops[active_workers - 1][0],
active_workers
);
@@ -548,7 +588,9 @@ static void test_many_classic_mrsp_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyClassicMrsPMutex",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Classic MrsP Mutex",
&ctx->many_classic_mrsp_ops[active_workers - 1][0],
active_workers
);
@@ -591,7 +633,9 @@ static void test_many_pthread_spinlock_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyPthreadSpinlock",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Pthread Spinlock",
&ctx->many_pthread_spinlock_ops[active_workers - 1][0],
active_workers
);
@@ -645,7 +689,9 @@ static void test_many_pthread_mutex_inherit_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyPthreadMutexInherit",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Pthread Inheritance Mutex",
&ctx->many_pthread_mutex_inherit_ops[active_workers - 1][0],
active_workers
);
@@ -705,7 +751,9 @@ static void test_many_pthread_mutex_protect_fini(
test_context *ctx = (test_context *) base;
test_fini(
- "ManyPthreadMutexProtect",
+ ctx,
+ "private-mutex",
+ "Obtain/Release Private Pthread Ceiling Mutex",
&ctx->many_pthread_mutex_protect_ops[active_workers - 1][0],
active_workers
);
@@ -729,11 +777,6 @@ static const rtems_test_parallel_job test_jobs[] = {
.cascade = true
}, {
.init = test_init,
- .body = test_many_mutex_body,
- .fini = test_many_mutex_fini,
- .cascade = true
- }, {
- .init = test_init,
.body = test_self_msg_body,
.fini = test_self_msg_fini,
.cascade = true
@@ -744,33 +787,38 @@ static const rtems_test_parallel_job test_jobs[] = {
.cascade = true
}, {
.init = test_init,
+ .body = test_many_pthread_spinlock_body,
+ .fini = test_many_pthread_spinlock_fini,
+ .cascade = true
+ }, {
+ .init = test_init,
.body = test_many_sys_lock_mutex_body,
.fini = test_many_sys_lock_mutex_fini,
.cascade = true
}, {
.init = test_init,
- .body = test_many_classic_ceiling_body,
- .fini = test_many_classic_ceiling_fini,
+ .body = test_many_pthread_mutex_inherit_body,
+ .fini = test_many_pthread_mutex_inherit_fini,
.cascade = true
}, {
.init = test_init,
- .body = test_many_classic_mrsp_body,
- .fini = test_many_classic_mrsp_fini,
+ .body = test_many_mutex_body,
+ .fini = test_many_mutex_fini,
.cascade = true
}, {
.init = test_init,
- .body = test_many_pthread_spinlock_body,
- .fini = test_many_pthread_spinlock_fini,
+ .body = test_many_pthread_mutex_protect_body,
+ .fini = test_many_pthread_mutex_protect_fini,
.cascade = true
}, {
.init = test_init,
- .body = test_many_pthread_mutex_inherit_body,
- .fini = test_many_pthread_mutex_inherit_fini,
+ .body = test_many_classic_ceiling_body,
+ .fini = test_many_classic_ceiling_fini,
.cascade = true
}, {
.init = test_init,
- .body = test_many_pthread_mutex_protect_body,
- .fini = test_many_pthread_mutex_protect_fini,
+ .body = test_many_classic_mrsp_body,
+ .fini = test_many_classic_mrsp_fini,
.cascade = true
}
};
@@ -778,7 +826,6 @@ static const rtems_test_parallel_job test_jobs[] = {
static void Init(rtems_task_argument arg)
{
test_context *ctx = &test_instance;
- const char *test = "TestTimeFine01";
rtems_status_code sc;
size_t i;
@@ -806,8 +853,9 @@ static void Init(rtems_task_argument arg)
rtems_test_assert(sc == RTEMS_SUCCESSFUL);
}
- printf("<%s>\n", test);
+ printf("*** BEGIN OF JSON DATA ***\n[\n ");
+ ctx->test_sep = "";
rtems_test_parallel(
&ctx->base,
NULL,
@@ -815,7 +863,7 @@ static void Init(rtems_task_argument arg)
RTEMS_ARRAY_SIZE(test_jobs)
);
- printf("</%s>\n", test);
+ printf("\n]\n*** END OF JSON DATA ***\n");
TEST_END();
rtems_test_exit(0);
diff --git a/testsuites/tmtests/tmfine01/tmfine01.py b/testsuites/tmtests/tmfine01/tmfine01.py
index 9345e245c5..54363bee34 100644
--- a/testsuites/tmtests/tmfine01/tmfine01.py
+++ b/testsuites/tmtests/tmfine01/tmfine01.py
@@ -1,9 +1,6 @@
# SPDX-License-Identifier: BSD-2-Clause
-#!/usr/bin/env python
-
-#
-# Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+# Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -25,57 +22,41 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-#
+import json
import re
-import libxml2
-from libxml2 import xmlNode
-import matplotlib.pyplot as plt
-data = open('tmfine01.scn').read()
-data = re.sub(r'\*\*\*.*\*\*\*', '', data)
-doc = libxml2.parseDoc(data)
-ctx = doc.xpathNewContext()
-
-plt.yscale('log')
-plt.title('Uncontested Mutex Performance')
-plt.xlabel('Active Workers')
-plt.ylabel('Operation Count')
-
-def m(n):
- return int(n.getContent())
-
-def getCounterSums(variant):
- w = 1
- y = []
- while True:
- c = map(m, ctx.xpathEval('/TestTimeFine01/' + variant + '[@activeWorker="' + str(w) + '"]/Counter'))
- if not c:
- break
- y.append(sum(c))
- w = w + 1
- return y
-
-y = getCounterSums('ManySysLockMutex')
-x = range(1, len(y) + 1)
-plt.plot(x, y, label = 'Sys Lock Mutex', marker = 'o')
-
-y = getCounterSums('ManyMutex')
-plt.plot(x, y, label = 'Classic Inheritance Mutex', marker = 'o')
-
-y = getCounterSums('ManyClassicCeilingMutex')
-plt.plot(x, y, label = 'Classic Ceiling Mutex', marker = 'o')
-
-y = getCounterSums('ManyClassicMrsPMutex')
-plt.plot(x, y, label = 'Classic MrsP Mutex', marker = 'o')
-
-y = getCounterSums('ManyPthreadSpinlock')
-plt.plot(x, y, label = 'Pthread Spinlock', marker = 'o')
-
-y = getCounterSums('ManyPthreadMutexInherit')
-plt.plot(x, y, label = 'Pthread Mutex Inherit', marker = 'o')
-
-y = getCounterSums('ManyPthreadMutexProtect')
-plt.plot(x, y, label = 'Pthread Mutex Protect', marker = 'o')
-
-plt.legend(loc = 'best')
-plt.show()
+import matplotlib.pyplot as plt # type: ignore
+from matplotlib import ticker # type: ignore
+
+
+def _plot(data: dict) -> None:
+ _, axes = plt.subplots()
+ axes.set_title("Uncontested Mutex Performance")
+ axes.set_xlabel("Active Workers")
+ axes.set_ylabel("Operation Count")
+ x = list(range(1, len(data[0]["counter"]) + 1))
+ axes.xaxis.set_major_locator(ticker.FixedLocator(x))
+ for samples in data:
+ if samples["type"] != "private-mutex":
+ continue
+ y = [sum(values) for values in samples["counter"]]
+ axes.plot(x,
+ y,
+ label=samples["description"].replace(
+ "Obtain/Release Private ", ""),
+ marker="o")
+ axes.legend(loc="best")
+ plt.savefig("tmfine01.png")
+ plt.savefig("tmfine01.pdf")
+ plt.close()
+
+
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
+
+with open("tmfine01.scn", "r", encoding="utf-8") as src:
+ match = _JSON_DATA.search(src.read())
+ data = json.loads(match.group(1))
+
+_plot(data)
diff --git a/testsuites/tmtests/tmfine01/tmfine01.scn b/testsuites/tmtests/tmfine01/tmfine01.scn
index e3dfd7757f..cf356f0806 100644
--- a/testsuites/tmtests/tmfine01/tmfine01.scn
+++ b/testsuites/tmtests/tmfine01/tmfine01.scn
@@ -1,4180 +1,132 @@
+
+ SIS - SPARC/RISCV instruction simulator 2.30, copyright Jiri Gaisler 2020
+ Bug-reports to jiri@gaisler.se
+
+ GR740/LEON4 emulation enabled, 4 cpus online, delta 50 clocks
+
+ Loaded build/sparc/gr740/testsuites/tmtests/tmfine01.exe, entry 0x00000000
+
+
*** BEGIN OF TEST TMFINE 1 ***
-<TestTimeFine01>
- <SelfEvent activeWorker="1">
- <Counter worker="0">4676131</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="2">
- <Counter worker="0">4641176</Counter>
- <Counter worker="1">4641467</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="3">
- <Counter worker="0">4588420</Counter>
- <Counter worker="1">4588713</Counter>
- <Counter worker="2">4588730</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="4">
- <Counter worker="0">4552423</Counter>
- <Counter worker="1">4552717</Counter>
- <Counter worker="2">4552773</Counter>
- <Counter worker="3">4552785</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="5">
- <Counter worker="0">4503050</Counter>
- <Counter worker="1">4503310</Counter>
- <Counter worker="2">4503408</Counter>
- <Counter worker="3">4503447</Counter>
- <Counter worker="4">4503380</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="6">
- <Counter worker="0">4506318</Counter>
- <Counter worker="1">4506592</Counter>
- <Counter worker="2">4506673</Counter>
- <Counter worker="3">4506688</Counter>
- <Counter worker="4">4506663</Counter>
- <Counter worker="5">4506666</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="7">
- <Counter worker="0">4479255</Counter>
- <Counter worker="1">4479516</Counter>
- <Counter worker="2">4479651</Counter>
- <Counter worker="3">4479614</Counter>
- <Counter worker="4">4479578</Counter>
- <Counter worker="5">4479616</Counter>
- <Counter worker="6">4479670</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="8">
- <Counter worker="0">4430941</Counter>
- <Counter worker="1">4431230</Counter>
- <Counter worker="2">4431182</Counter>
- <Counter worker="3">4431299</Counter>
- <Counter worker="4">4430884</Counter>
- <Counter worker="5">4430883</Counter>
- <Counter worker="6">4431032</Counter>
- <Counter worker="7">4431022</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="9">
- <Counter worker="0">4448824</Counter>
- <Counter worker="1">4449100</Counter>
- <Counter worker="2">4448994</Counter>
- <Counter worker="3">4449146</Counter>
- <Counter worker="4">4448725</Counter>
- <Counter worker="5">4448726</Counter>
- <Counter worker="6">4448812</Counter>
- <Counter worker="7">4448856</Counter>
- <Counter worker="8">4683748</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="10">
- <Counter worker="0">4434217</Counter>
- <Counter worker="1">4434522</Counter>
- <Counter worker="2">4434464</Counter>
- <Counter worker="3">4434566</Counter>
- <Counter worker="4">4434201</Counter>
- <Counter worker="5">4434183</Counter>
- <Counter worker="6">4434380</Counter>
- <Counter worker="7">4434377</Counter>
- <Counter worker="8">4645492</Counter>
- <Counter worker="9">4645490</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="11">
- <Counter worker="0">4462864</Counter>
- <Counter worker="1">4463155</Counter>
- <Counter worker="2">4463110</Counter>
- <Counter worker="3">4463229</Counter>
- <Counter worker="4">4462874</Counter>
- <Counter worker="5">4462844</Counter>
- <Counter worker="6">4462957</Counter>
- <Counter worker="7">4462977</Counter>
- <Counter worker="8">4590235</Counter>
- <Counter worker="9">4590243</Counter>
- <Counter worker="10">4590208</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="12">
- <Counter worker="0">4448372</Counter>
- <Counter worker="1">4448670</Counter>
- <Counter worker="2">4448618</Counter>
- <Counter worker="3">4448756</Counter>
- <Counter worker="4">4448391</Counter>
- <Counter worker="5">4448389</Counter>
- <Counter worker="6">4448491</Counter>
- <Counter worker="7">4448501</Counter>
- <Counter worker="8">4552401</Counter>
- <Counter worker="9">4552390</Counter>
- <Counter worker="10">4552353</Counter>
- <Counter worker="11">4552386</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="13">
- <Counter worker="0">4427993</Counter>
- <Counter worker="1">4428270</Counter>
- <Counter worker="2">4428290</Counter>
- <Counter worker="3">4428406</Counter>
- <Counter worker="4">4428081</Counter>
- <Counter worker="5">4428077</Counter>
- <Counter worker="6">4428183</Counter>
- <Counter worker="7">4428187</Counter>
- <Counter worker="8">4507321</Counter>
- <Counter worker="9">4507322</Counter>
- <Counter worker="10">4507311</Counter>
- <Counter worker="11">4507332</Counter>
- <Counter worker="12">4507311</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="14">
- <Counter worker="0">4456343</Counter>
- <Counter worker="1">4456632</Counter>
- <Counter worker="2">4456672</Counter>
- <Counter worker="3">4456758</Counter>
- <Counter worker="4">4456495</Counter>
- <Counter worker="5">4456482</Counter>
- <Counter worker="6">4456584</Counter>
- <Counter worker="7">4456575</Counter>
- <Counter worker="8">4507973</Counter>
- <Counter worker="9">4507951</Counter>
- <Counter worker="10">4507951</Counter>
- <Counter worker="11">4507937</Counter>
- <Counter worker="12">4507952</Counter>
- <Counter worker="13">4507971</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="15">
- <Counter worker="0">4441428</Counter>
- <Counter worker="1">4441718</Counter>
- <Counter worker="2">4441692</Counter>
- <Counter worker="3">4441802</Counter>
- <Counter worker="4">4441407</Counter>
- <Counter worker="5">4441408</Counter>
- <Counter worker="6">4441556</Counter>
- <Counter worker="7">4441569</Counter>
- <Counter worker="8">4478368</Counter>
- <Counter worker="9">4478360</Counter>
- <Counter worker="10">4478594</Counter>
- <Counter worker="11">4478573</Counter>
- <Counter worker="12">4478347</Counter>
- <Counter worker="13">4478367</Counter>
- <Counter worker="14">4478443</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="16">
- <Counter worker="0">4470668</Counter>
- <Counter worker="1">4470970</Counter>
- <Counter worker="2">4470950</Counter>
- <Counter worker="3">4471049</Counter>
- <Counter worker="4">4470638</Counter>
- <Counter worker="5">4470599</Counter>
- <Counter worker="6">4470866</Counter>
- <Counter worker="7">4470888</Counter>
- <Counter worker="8">4462941</Counter>
- <Counter worker="9">4462934</Counter>
- <Counter worker="10">4462925</Counter>
- <Counter worker="11">4463059</Counter>
- <Counter worker="12">4462612</Counter>
- <Counter worker="13">4462636</Counter>
- <Counter worker="14">4462669</Counter>
- <Counter worker="15">4462676</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="17">
- <Counter worker="0">4451094</Counter>
- <Counter worker="1">4451396</Counter>
- <Counter worker="2">4451343</Counter>
- <Counter worker="3">4451471</Counter>
- <Counter worker="4">4451083</Counter>
- <Counter worker="5">4451099</Counter>
- <Counter worker="6">4451193</Counter>
- <Counter worker="7">4451191</Counter>
- <Counter worker="8">4450420</Counter>
- <Counter worker="9">4450424</Counter>
- <Counter worker="10">4450398</Counter>
- <Counter worker="11">4450533</Counter>
- <Counter worker="12">4450111</Counter>
- <Counter worker="13">4450105</Counter>
- <Counter worker="14">4450218</Counter>
- <Counter worker="15">4450237</Counter>
- <Counter worker="16">4682169</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="18">
- <Counter worker="0">4435091</Counter>
- <Counter worker="1">4435372</Counter>
- <Counter worker="2">4435353</Counter>
- <Counter worker="3">4435493</Counter>
- <Counter worker="4">4435073</Counter>
- <Counter worker="5">4435101</Counter>
- <Counter worker="6">4435297</Counter>
- <Counter worker="7">4435279</Counter>
- <Counter worker="8">4435219</Counter>
- <Counter worker="9">4435244</Counter>
- <Counter worker="10">4435166</Counter>
- <Counter worker="11">4435291</Counter>
- <Counter worker="12">4434894</Counter>
- <Counter worker="13">4434866</Counter>
- <Counter worker="14">4435038</Counter>
- <Counter worker="15">4435019</Counter>
- <Counter worker="16">4644910</Counter>
- <Counter worker="17">4644922</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="19">
- <Counter worker="0">4467049</Counter>
- <Counter worker="1">4467345</Counter>
- <Counter worker="2">4467193</Counter>
- <Counter worker="3">4467343</Counter>
- <Counter worker="4">4466881</Counter>
- <Counter worker="5">4466868</Counter>
- <Counter worker="6">4466971</Counter>
- <Counter worker="7">4466993</Counter>
- <Counter worker="8">4457734</Counter>
- <Counter worker="9">4457707</Counter>
- <Counter worker="10">4457717</Counter>
- <Counter worker="11">4457828</Counter>
- <Counter worker="12">4457399</Counter>
- <Counter worker="13">4457360</Counter>
- <Counter worker="14">4457515</Counter>
- <Counter worker="15">4457488</Counter>
- <Counter worker="16">4585770</Counter>
- <Counter worker="17">4585760</Counter>
- <Counter worker="18">4585688</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="20">
- <Counter worker="0">4446007</Counter>
- <Counter worker="1">4446279</Counter>
- <Counter worker="2">4446256</Counter>
- <Counter worker="3">4446376</Counter>
- <Counter worker="4">4445955</Counter>
- <Counter worker="5">4445940</Counter>
- <Counter worker="6">4446119</Counter>
- <Counter worker="7">4446087</Counter>
- <Counter worker="8">4445074</Counter>
- <Counter worker="9">4445042</Counter>
- <Counter worker="10">4444971</Counter>
- <Counter worker="11">4445114</Counter>
- <Counter worker="12">4444692</Counter>
- <Counter worker="13">4444706</Counter>
- <Counter worker="14">4444765</Counter>
- <Counter worker="15">4444747</Counter>
- <Counter worker="16">4548340</Counter>
- <Counter worker="17">4548325</Counter>
- <Counter worker="18">4548353</Counter>
- <Counter worker="19">4548347</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="21">
- <Counter worker="0">4427980</Counter>
- <Counter worker="1">4428254</Counter>
- <Counter worker="2">4428184</Counter>
- <Counter worker="3">4428372</Counter>
- <Counter worker="4">4427834</Counter>
- <Counter worker="5">4427816</Counter>
- <Counter worker="6">4427990</Counter>
- <Counter worker="7">4428014</Counter>
- <Counter worker="8">4427634</Counter>
- <Counter worker="9">4427642</Counter>
- <Counter worker="10">4427639</Counter>
- <Counter worker="11">4427737</Counter>
- <Counter worker="12">4427339</Counter>
- <Counter worker="13">4427323</Counter>
- <Counter worker="14">4427446</Counter>
- <Counter worker="15">4427427</Counter>
- <Counter worker="16">4504730</Counter>
- <Counter worker="17">4504744</Counter>
- <Counter worker="18">4504739</Counter>
- <Counter worker="19">4504744</Counter>
- <Counter worker="20">4504678</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="22">
- <Counter worker="0">4452075</Counter>
- <Counter worker="1">4452381</Counter>
- <Counter worker="2">4452154</Counter>
- <Counter worker="3">4452302</Counter>
- <Counter worker="4">4451944</Counter>
- <Counter worker="5">4451919</Counter>
- <Counter worker="6">4451965</Counter>
- <Counter worker="7">4452004</Counter>
- <Counter worker="8">4451917</Counter>
- <Counter worker="9">4451934</Counter>
- <Counter worker="10">4451935</Counter>
- <Counter worker="11">4452019</Counter>
- <Counter worker="12">4451627</Counter>
- <Counter worker="13">4451630</Counter>
- <Counter worker="14">4451689</Counter>
- <Counter worker="15">4451672</Counter>
- <Counter worker="16">4506836</Counter>
- <Counter worker="17">4506837</Counter>
- <Counter worker="18">4506830</Counter>
- <Counter worker="19">4506828</Counter>
- <Counter worker="20">4506811</Counter>
- <Counter worker="21">4506822</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="23">
- <Counter worker="0">4435063</Counter>
- <Counter worker="1">4435355</Counter>
- <Counter worker="2">4435353</Counter>
- <Counter worker="3">4435496</Counter>
- <Counter worker="4">4435090</Counter>
- <Counter worker="5">4435092</Counter>
- <Counter worker="6">4435188</Counter>
- <Counter worker="7">4435200</Counter>
- <Counter worker="8">4432230</Counter>
- <Counter worker="9">4432253</Counter>
- <Counter worker="10">4432620</Counter>
- <Counter worker="11">4432748</Counter>
- <Counter worker="12">4431935</Counter>
- <Counter worker="13">4431916</Counter>
- <Counter worker="14">4432042</Counter>
- <Counter worker="15">4432055</Counter>
- <Counter worker="16">4476758</Counter>
- <Counter worker="17">4476739</Counter>
- <Counter worker="18">4476783</Counter>
- <Counter worker="19">4476776</Counter>
- <Counter worker="20">4476730</Counter>
- <Counter worker="21">4476742</Counter>
- <Counter worker="22">4476861</Counter>
- </SelfEvent>
- <SelfEvent activeWorker="24">
- <Counter worker="0">4462678</Counter>
- <Counter worker="1">4462968</Counter>
- <Counter worker="2">4462933</Counter>
- <Counter worker="3">4463030</Counter>
- <Counter worker="4">4462726</Counter>
- <Counter worker="5">4462724</Counter>
- <Counter worker="6">4462873</Counter>
- <Counter worker="7">4462866</Counter>
- <Counter worker="8">4464841</Counter>
- <Counter worker="9">4464847</Counter>
- <Counter worker="10">4464793</Counter>
- <Counter worker="11">4464948</Counter>
- <Counter worker="12">4464503</Counter>
- <Counter worker="13">4464493</Counter>
- <Counter worker="14">4464580</Counter>
- <Counter worker="15">4464597</Counter>
- <Counter worker="16">4475030</Counter>
- <Counter worker="17">4475042</Counter>
- <Counter worker="18">4474978</Counter>
- <Counter worker="19">4475018</Counter>
- <Counter worker="20">4474858</Counter>
- <Counter worker="21">4474851</Counter>
- <Counter worker="22">4475125</Counter>
- <Counter worker="23">4475172</Counter>
- </SelfEvent>
- <AllToOneEvent activeWorker="1">
- <Counter worker="0">4512749</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="2">
- <Counter worker="0">4478766</Counter>
- <Counter worker="1">8957974</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="3">
- <Counter worker="0">4507485</Counter>
- <Counter worker="1">9015419</Counter>
- <Counter worker="2">9015694</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="4">
- <Counter worker="0">4404320</Counter>
- <Counter worker="1">8809091</Counter>
- <Counter worker="2">8809371</Counter>
- <Counter worker="3">8809388</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="5">
- <Counter worker="0">4380598</Counter>
- <Counter worker="1">8788711</Counter>
- <Counter worker="2">8768400</Counter>
- <Counter worker="3">8768539</Counter>
- <Counter worker="4">8947075</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="6">
- <Counter worker="0">4384177</Counter>
- <Counter worker="1">8775468</Counter>
- <Counter worker="2">8770900</Counter>
- <Counter worker="3">8771021</Counter>
- <Counter worker="4">8778460</Counter>
- <Counter worker="5">8778497</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="7">
- <Counter worker="0">4375929</Counter>
- <Counter worker="1">8753666</Counter>
- <Counter worker="2">8752767</Counter>
- <Counter worker="3">8752874</Counter>
- <Counter worker="4">8753367</Counter>
- <Counter worker="5">8753374</Counter>
- <Counter worker="6">8840563</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="8">
- <Counter worker="0">4347550</Counter>
- <Counter worker="1">8697434</Counter>
- <Counter worker="2">8696453</Counter>
- <Counter worker="3">8696601</Counter>
- <Counter worker="4">8697025</Counter>
- <Counter worker="5">8696969</Counter>
- <Counter worker="6">8696444</Counter>
- <Counter worker="7">8696417</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="9">
- <Counter worker="0">4328236</Counter>
- <Counter worker="1">8682051</Counter>
- <Counter worker="2">8671656</Counter>
- <Counter worker="3">8671719</Counter>
- <Counter worker="4">8674666</Counter>
- <Counter worker="5">8674727</Counter>
- <Counter worker="6">8670649</Counter>
- <Counter worker="7">8667287</Counter>
- <Counter worker="8">9254597</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="10">
- <Counter worker="0">4311205</Counter>
- <Counter worker="1">8653563</Counter>
- <Counter worker="2">8640229</Counter>
- <Counter worker="3">8640342</Counter>
- <Counter worker="4">8643904</Counter>
- <Counter worker="5">8643865</Counter>
- <Counter worker="6">8639106</Counter>
- <Counter worker="7">8634769</Counter>
- <Counter worker="8">9212001</Counter>
- <Counter worker="9">9212064</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="11">
- <Counter worker="0">4338650</Counter>
- <Counter worker="1">8703013</Counter>
- <Counter worker="2">8692866</Counter>
- <Counter worker="3">8692981</Counter>
- <Counter worker="4">8695787</Counter>
- <Counter worker="5">8695808</Counter>
- <Counter worker="6">8691894</Counter>
- <Counter worker="7">8687943</Counter>
- <Counter worker="8">9103496</Counter>
- <Counter worker="9">9103489</Counter>
- <Counter worker="10">9103538</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="12">
- <Counter worker="0">4326588</Counter>
- <Counter worker="1">8680078</Counter>
- <Counter worker="2">8669077</Counter>
- <Counter worker="3">8669207</Counter>
- <Counter worker="4">8672685</Counter>
- <Counter worker="5">8672667</Counter>
- <Counter worker="6">8667903</Counter>
- <Counter worker="7">8664528</Counter>
- <Counter worker="8">8907170</Counter>
- <Counter worker="9">8907137</Counter>
- <Counter worker="10">8907177</Counter>
- <Counter worker="11">8907256</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="13">
- <Counter worker="0">4309927</Counter>
- <Counter worker="1">8643768</Counter>
- <Counter worker="2">8634342</Counter>
- <Counter worker="3">8634451</Counter>
- <Counter worker="4">8636838</Counter>
- <Counter worker="5">8636892</Counter>
- <Counter worker="6">8633550</Counter>
- <Counter worker="7">8629506</Counter>
- <Counter worker="8">8899997</Counter>
- <Counter worker="9">8900014</Counter>
- <Counter worker="10">8900104</Counter>
- <Counter worker="11">8900144</Counter>
- <Counter worker="12">8900125</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="14">
- <Counter worker="0">4335662</Counter>
- <Counter worker="1">8700274</Counter>
- <Counter worker="2">8688657</Counter>
- <Counter worker="3">8688789</Counter>
- <Counter worker="4">8692110</Counter>
- <Counter worker="5">8692102</Counter>
- <Counter worker="6">8687544</Counter>
- <Counter worker="7">8683259</Counter>
- <Counter worker="8">8808142</Counter>
- <Counter worker="9">8808143</Counter>
- <Counter worker="10">8808118</Counter>
- <Counter worker="11">8808151</Counter>
- <Counter worker="12">8808088</Counter>
- <Counter worker="13">8808120</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="15">
- <Counter worker="0">4314045</Counter>
- <Counter worker="1">8661973</Counter>
- <Counter worker="2">8648592</Counter>
- <Counter worker="3">8648764</Counter>
- <Counter worker="4">8652271</Counter>
- <Counter worker="5">8652318</Counter>
- <Counter worker="6">8647390</Counter>
- <Counter worker="7">8641916</Counter>
- <Counter worker="8">8797415</Counter>
- <Counter worker="9">8797422</Counter>
- <Counter worker="10">8797305</Counter>
- <Counter worker="11">8797328</Counter>
- <Counter worker="12">8797322</Counter>
- <Counter worker="13">8797357</Counter>
- <Counter worker="14">8802341</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="16">
- <Counter worker="0">4346816</Counter>
- <Counter worker="1">8715982</Counter>
- <Counter worker="2">8706981</Counter>
- <Counter worker="3">8707143</Counter>
- <Counter worker="4">8708920</Counter>
- <Counter worker="5">8708960</Counter>
- <Counter worker="6">8706447</Counter>
- <Counter worker="7">8703043</Counter>
- <Counter worker="8">8712344</Counter>
- <Counter worker="9">8712289</Counter>
- <Counter worker="10">8712131</Counter>
- <Counter worker="11">8712215</Counter>
- <Counter worker="12">8712289</Counter>
- <Counter worker="13">8712244</Counter>
- <Counter worker="14">8712147</Counter>
- <Counter worker="15">8712227</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="17">
- <Counter worker="0">4325645</Counter>
- <Counter worker="1">8685016</Counter>
- <Counter worker="2">8671607</Counter>
- <Counter worker="3">8671728</Counter>
- <Counter worker="4">8675196</Counter>
- <Counter worker="5">8675203</Counter>
- <Counter worker="6">8670269</Counter>
- <Counter worker="7">8665153</Counter>
- <Counter worker="8">8673438</Counter>
- <Counter worker="9">8673444</Counter>
- <Counter worker="10">8673183</Counter>
- <Counter worker="11">8673276</Counter>
- <Counter worker="12">8673321</Counter>
- <Counter worker="13">8673304</Counter>
- <Counter worker="14">8673230</Counter>
- <Counter worker="15">8673240</Counter>
- <Counter worker="16">9251521</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="18">
- <Counter worker="0">4309289</Counter>
- <Counter worker="1">8647898</Counter>
- <Counter worker="2">8636314</Counter>
- <Counter worker="3">8636411</Counter>
- <Counter worker="4">8639557</Counter>
- <Counter worker="5">8639645</Counter>
- <Counter worker="6">8635149</Counter>
- <Counter worker="7">8630636</Counter>
- <Counter worker="8">8641335</Counter>
- <Counter worker="9">8641320</Counter>
- <Counter worker="10">8641131</Counter>
- <Counter worker="11">8641178</Counter>
- <Counter worker="12">8641173</Counter>
- <Counter worker="13">8641229</Counter>
- <Counter worker="14">8641116</Counter>
- <Counter worker="15">8641130</Counter>
- <Counter worker="16">9208457</Counter>
- <Counter worker="17">9208447</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="19">
- <Counter worker="0">4339177</Counter>
- <Counter worker="1">8712486</Counter>
- <Counter worker="2">8698865</Counter>
- <Counter worker="3">8699011</Counter>
- <Counter worker="4">8702321</Counter>
- <Counter worker="5">8702299</Counter>
- <Counter worker="6">8697706</Counter>
- <Counter worker="7">8692411</Counter>
- <Counter worker="8">8691700</Counter>
- <Counter worker="9">8691718</Counter>
- <Counter worker="10">8691530</Counter>
- <Counter worker="11">8691574</Counter>
- <Counter worker="12">8691598</Counter>
- <Counter worker="13">8691595</Counter>
- <Counter worker="14">8691515</Counter>
- <Counter worker="15">8691555</Counter>
- <Counter worker="16">9098995</Counter>
- <Counter worker="17">9098975</Counter>
- <Counter worker="18">9098976</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="20">
- <Counter worker="0">4323231</Counter>
- <Counter worker="1">8670659</Counter>
- <Counter worker="2">8660830</Counter>
- <Counter worker="3">8660891</Counter>
- <Counter worker="4">8663710</Counter>
- <Counter worker="5">8663717</Counter>
- <Counter worker="6">8659875</Counter>
- <Counter worker="7">8656639</Counter>
- <Counter worker="8">8654156</Counter>
- <Counter worker="9">8654183</Counter>
- <Counter worker="10">8654050</Counter>
- <Counter worker="11">8654092</Counter>
- <Counter worker="12">8654106</Counter>
- <Counter worker="13">8654141</Counter>
- <Counter worker="14">8654084</Counter>
- <Counter worker="15">8654064</Counter>
- <Counter worker="16">8891464</Counter>
- <Counter worker="17">8891387</Counter>
- <Counter worker="18">8891423</Counter>
- <Counter worker="19">8891522</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="21">
- <Counter worker="0">4306028</Counter>
- <Counter worker="1">8633314</Counter>
- <Counter worker="2">8624564</Counter>
- <Counter worker="3">8624678</Counter>
- <Counter worker="4">8627581</Counter>
- <Counter worker="5">8627623</Counter>
- <Counter worker="6">8623580</Counter>
- <Counter worker="7">8621273</Counter>
- <Counter worker="8">8630481</Counter>
- <Counter worker="9">8630453</Counter>
- <Counter worker="10">8630282</Counter>
- <Counter worker="11">8630331</Counter>
- <Counter worker="12">8630383</Counter>
- <Counter worker="13">8630377</Counter>
- <Counter worker="14">8630254</Counter>
- <Counter worker="15">8630302</Counter>
- <Counter worker="16">8882786</Counter>
- <Counter worker="17">8882786</Counter>
- <Counter worker="18">8882842</Counter>
- <Counter worker="19">8882888</Counter>
- <Counter worker="20">8901459</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="22">
- <Counter worker="0">4332214</Counter>
- <Counter worker="1">8694309</Counter>
- <Counter worker="2">8682276</Counter>
- <Counter worker="3">8682411</Counter>
- <Counter worker="4">8685904</Counter>
- <Counter worker="5">8685918</Counter>
- <Counter worker="6">8681134</Counter>
- <Counter worker="7">8676778</Counter>
- <Counter worker="8">8690139</Counter>
- <Counter worker="9">8690092</Counter>
- <Counter worker="10">8689940</Counter>
- <Counter worker="11">8689995</Counter>
- <Counter worker="12">8690031</Counter>
- <Counter worker="13">8690036</Counter>
- <Counter worker="14">8689958</Counter>
- <Counter worker="15">8689930</Counter>
- <Counter worker="16">8792896</Counter>
- <Counter worker="17">8792916</Counter>
- <Counter worker="18">8792896</Counter>
- <Counter worker="19">8792966</Counter>
- <Counter worker="20">8792943</Counter>
- <Counter worker="21">8792939</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="23">
- <Counter worker="0">4316784</Counter>
- <Counter worker="1">8662468</Counter>
- <Counter worker="2">8650651</Counter>
- <Counter worker="3">8650782</Counter>
- <Counter worker="4">8654092</Counter>
- <Counter worker="5">8654022</Counter>
- <Counter worker="6">8649506</Counter>
- <Counter worker="7">8645904</Counter>
- <Counter worker="8">8639667</Counter>
- <Counter worker="9">8639654</Counter>
- <Counter worker="10">8639505</Counter>
- <Counter worker="11">8639593</Counter>
- <Counter worker="12">8639683</Counter>
- <Counter worker="13">8639686</Counter>
- <Counter worker="14">8639487</Counter>
- <Counter worker="15">8639547</Counter>
- <Counter worker="16">8786893</Counter>
- <Counter worker="17">8786917</Counter>
- <Counter worker="18">8786678</Counter>
- <Counter worker="19">8786756</Counter>
- <Counter worker="20">8786878</Counter>
- <Counter worker="21">8786879</Counter>
- <Counter worker="22">8794112</Counter>
- </AllToOneEvent>
- <AllToOneEvent activeWorker="24">
- <Counter worker="0">4340462</Counter>
- <Counter worker="1">8708543</Counter>
- <Counter worker="2">8696739</Counter>
- <Counter worker="3">8696800</Counter>
- <Counter worker="4">8699717</Counter>
- <Counter worker="5">8699709</Counter>
- <Counter worker="6">8695657</Counter>
- <Counter worker="7">8691968</Counter>
- <Counter worker="8">8714142</Counter>
- <Counter worker="9">8714066</Counter>
- <Counter worker="10">8714016</Counter>
- <Counter worker="11">8714062</Counter>
- <Counter worker="12">8714040</Counter>
- <Counter worker="13">8714116</Counter>
- <Counter worker="14">8714041</Counter>
- <Counter worker="15">8714021</Counter>
- <Counter worker="16">8722288</Counter>
- <Counter worker="17">8722251</Counter>
- <Counter worker="18">8722033</Counter>
- <Counter worker="19">8722156</Counter>
- <Counter worker="20">8722336</Counter>
- <Counter worker="21">8722308</Counter>
- <Counter worker="22">8722297</Counter>
- <Counter worker="23">8722331</Counter>
- </AllToOneEvent>
- <OneMutex activeWorker="1">
- <Counter worker="0">4931822</Counter>
- </OneMutex>
- <OneMutex activeWorker="2">
- <Counter worker="0">245503</Counter>
- <Counter worker="1">245503</Counter>
- </OneMutex>
- <OneMutex activeWorker="3">
- <Counter worker="0">68887</Counter>
- <Counter worker="1">68887</Counter>
- <Counter worker="2">68886</Counter>
- </OneMutex>
- <OneMutex activeWorker="4">
- <Counter worker="0">65075</Counter>
- <Counter worker="1">65075</Counter>
- <Counter worker="2">65075</Counter>
- <Counter worker="3">65075</Counter>
- </OneMutex>
- <OneMutex activeWorker="5">
- <Counter worker="0">39944</Counter>
- <Counter worker="1">39944</Counter>
- <Counter worker="2">39944</Counter>
- <Counter worker="3">39945</Counter>
- <Counter worker="4">39944</Counter>
- </OneMutex>
- <OneMutex activeWorker="6">
- <Counter worker="0">49925</Counter>
- <Counter worker="1">49925</Counter>
- <Counter worker="2">49924</Counter>
- <Counter worker="3">49925</Counter>
- <Counter worker="4">49924</Counter>
- <Counter worker="5">49925</Counter>
- </OneMutex>
- <OneMutex activeWorker="7">
- <Counter worker="0">27616</Counter>
- <Counter worker="1">27615</Counter>
- <Counter worker="2">27616</Counter>
- <Counter worker="3">27616</Counter>
- <Counter worker="4">27616</Counter>
- <Counter worker="5">27615</Counter>
- <Counter worker="6">27615</Counter>
- </OneMutex>
- <OneMutex activeWorker="8">
- <Counter worker="0">22376</Counter>
- <Counter worker="1">22377</Counter>
- <Counter worker="2">22377</Counter>
- <Counter worker="3">22376</Counter>
- <Counter worker="4">22377</Counter>
- <Counter worker="5">22376</Counter>
- <Counter worker="6">22377</Counter>
- <Counter worker="7">22377</Counter>
- </OneMutex>
- <OneMutex activeWorker="9">
- <Counter worker="0">19838</Counter>
- <Counter worker="1">19838</Counter>
- <Counter worker="2">19838</Counter>
- <Counter worker="3">19838</Counter>
- <Counter worker="4">19838</Counter>
- <Counter worker="5">19838</Counter>
- <Counter worker="6">19838</Counter>
- <Counter worker="7">19838</Counter>
- <Counter worker="8">19838</Counter>
- </OneMutex>
- <OneMutex activeWorker="10">
- <Counter worker="0">12036</Counter>
- <Counter worker="1">12036</Counter>
- <Counter worker="2">12036</Counter>
- <Counter worker="3">12036</Counter>
- <Counter worker="4">12037</Counter>
- <Counter worker="5">12037</Counter>
- <Counter worker="6">12036</Counter>
- <Counter worker="7">12037</Counter>
- <Counter worker="8">12036</Counter>
- <Counter worker="9">12036</Counter>
- </OneMutex>
- <OneMutex activeWorker="11">
- <Counter worker="0">14679</Counter>
- <Counter worker="1">14679</Counter>
- <Counter worker="2">14679</Counter>
- <Counter worker="3">14679</Counter>
- <Counter worker="4">14679</Counter>
- <Counter worker="5">14679</Counter>
- <Counter worker="6">14679</Counter>
- <Counter worker="7">14679</Counter>
- <Counter worker="8">14679</Counter>
- <Counter worker="9">14678</Counter>
- <Counter worker="10">14679</Counter>
- </OneMutex>
- <OneMutex activeWorker="12">
- <Counter worker="0">9715</Counter>
- <Counter worker="1">9715</Counter>
- <Counter worker="2">9715</Counter>
- <Counter worker="3">9714</Counter>
- <Counter worker="4">9714</Counter>
- <Counter worker="5">9714</Counter>
- <Counter worker="6">9714</Counter>
- <Counter worker="7">9715</Counter>
- <Counter worker="8">9714</Counter>
- <Counter worker="9">9714</Counter>
- <Counter worker="10">9715</Counter>
- <Counter worker="11">9714</Counter>
- </OneMutex>
- <OneMutex activeWorker="13">
- <Counter worker="0">8614</Counter>
- <Counter worker="1">8614</Counter>
- <Counter worker="2">8614</Counter>
- <Counter worker="3">8614</Counter>
- <Counter worker="4">8613</Counter>
- <Counter worker="5">8613</Counter>
- <Counter worker="6">8615</Counter>
- <Counter worker="7">8613</Counter>
- <Counter worker="8">8613</Counter>
- <Counter worker="9">8613</Counter>
- <Counter worker="10">8613</Counter>
- <Counter worker="11">8613</Counter>
- <Counter worker="12">8614</Counter>
- </OneMutex>
- <OneMutex activeWorker="14">
- <Counter worker="0">8930</Counter>
- <Counter worker="1">8929</Counter>
- <Counter worker="2">8929</Counter>
- <Counter worker="3">8930</Counter>
- <Counter worker="4">8930</Counter>
- <Counter worker="5">8930</Counter>
- <Counter worker="6">8929</Counter>
- <Counter worker="7">8929</Counter>
- <Counter worker="8">8929</Counter>
- <Counter worker="9">8930</Counter>
- <Counter worker="10">8929</Counter>
- <Counter worker="11">8929</Counter>
- <Counter worker="12">8930</Counter>
- <Counter worker="13">8929</Counter>
- </OneMutex>
- <OneMutex activeWorker="15">
- <Counter worker="0">6001</Counter>
- <Counter worker="1">6002</Counter>
- <Counter worker="2">6002</Counter>
- <Counter worker="3">6002</Counter>
- <Counter worker="4">6003</Counter>
- <Counter worker="5">6001</Counter>
- <Counter worker="6">6002</Counter>
- <Counter worker="7">6002</Counter>
- <Counter worker="8">6002</Counter>
- <Counter worker="9">6002</Counter>
- <Counter worker="10">6002</Counter>
- <Counter worker="11">6002</Counter>
- <Counter worker="12">6001</Counter>
- <Counter worker="13">6002</Counter>
- <Counter worker="14">6002</Counter>
- </OneMutex>
- <OneMutex activeWorker="16">
- <Counter worker="0">7934</Counter>
- <Counter worker="1">7934</Counter>
- <Counter worker="2">7936</Counter>
- <Counter worker="3">7935</Counter>
- <Counter worker="4">7935</Counter>
- <Counter worker="5">7934</Counter>
- <Counter worker="6">7935</Counter>
- <Counter worker="7">7935</Counter>
- <Counter worker="8">7934</Counter>
- <Counter worker="9">7934</Counter>
- <Counter worker="10">7934</Counter>
- <Counter worker="11">7934</Counter>
- <Counter worker="12">7935</Counter>
- <Counter worker="13">7935</Counter>
- <Counter worker="14">7935</Counter>
- <Counter worker="15">7934</Counter>
- </OneMutex>
- <OneMutex activeWorker="17">
- <Counter worker="0">4099</Counter>
- <Counter worker="1">4099</Counter>
- <Counter worker="2">4098</Counter>
- <Counter worker="3">4098</Counter>
- <Counter worker="4">4098</Counter>
- <Counter worker="5">4098</Counter>
- <Counter worker="6">4098</Counter>
- <Counter worker="7">4098</Counter>
- <Counter worker="8">4098</Counter>
- <Counter worker="9">4098</Counter>
- <Counter worker="10">4098</Counter>
- <Counter worker="11">4098</Counter>
- <Counter worker="12">4098</Counter>
- <Counter worker="13">4098</Counter>
- <Counter worker="14">4098</Counter>
- <Counter worker="15">4099</Counter>
- <Counter worker="16">4098</Counter>
- </OneMutex>
- <OneMutex activeWorker="18">
- <Counter worker="0">6990</Counter>
- <Counter worker="1">6989</Counter>
- <Counter worker="2">6989</Counter>
- <Counter worker="3">6989</Counter>
- <Counter worker="4">6989</Counter>
- <Counter worker="5">6990</Counter>
- <Counter worker="6">6989</Counter>
- <Counter worker="7">6989</Counter>
- <Counter worker="8">6989</Counter>
- <Counter worker="9">6990</Counter>
- <Counter worker="10">6989</Counter>
- <Counter worker="11">6989</Counter>
- <Counter worker="12">6989</Counter>
- <Counter worker="13">6990</Counter>
- <Counter worker="14">6990</Counter>
- <Counter worker="15">6990</Counter>
- <Counter worker="16">6990</Counter>
- <Counter worker="17">6989</Counter>
- </OneMutex>
- <OneMutex activeWorker="19">
- <Counter worker="0">3939</Counter>
- <Counter worker="1">3938</Counter>
- <Counter worker="2">3938</Counter>
- <Counter worker="3">3938</Counter>
- <Counter worker="4">3939</Counter>
- <Counter worker="5">3938</Counter>
- <Counter worker="6">3939</Counter>
- <Counter worker="7">3938</Counter>
- <Counter worker="8">3939</Counter>
- <Counter worker="9">3938</Counter>
- <Counter worker="10">3939</Counter>
- <Counter worker="11">3938</Counter>
- <Counter worker="12">3939</Counter>
- <Counter worker="13">3939</Counter>
- <Counter worker="14">3939</Counter>
- <Counter worker="15">3938</Counter>
- <Counter worker="16">3938</Counter>
- <Counter worker="17">3938</Counter>
- <Counter worker="18">3939</Counter>
- </OneMutex>
- <OneMutex activeWorker="20">
- <Counter worker="0">3096</Counter>
- <Counter worker="1">3096</Counter>
- <Counter worker="2">3097</Counter>
- <Counter worker="3">3097</Counter>
- <Counter worker="4">3097</Counter>
- <Counter worker="5">3096</Counter>
- <Counter worker="6">3096</Counter>
- <Counter worker="7">3097</Counter>
- <Counter worker="8">3097</Counter>
- <Counter worker="9">3097</Counter>
- <Counter worker="10">3097</Counter>
- <Counter worker="11">3097</Counter>
- <Counter worker="12">3097</Counter>
- <Counter worker="13">3098</Counter>
- <Counter worker="14">3097</Counter>
- <Counter worker="15">3097</Counter>
- <Counter worker="16">3097</Counter>
- <Counter worker="17">3097</Counter>
- <Counter worker="18">3097</Counter>
- <Counter worker="19">3097</Counter>
- </OneMutex>
- <OneMutex activeWorker="21">
- <Counter worker="0">2721</Counter>
- <Counter worker="1">2722</Counter>
- <Counter worker="2">2721</Counter>
- <Counter worker="3">2721</Counter>
- <Counter worker="4">2722</Counter>
- <Counter worker="5">2721</Counter>
- <Counter worker="6">2721</Counter>
- <Counter worker="7">2721</Counter>
- <Counter worker="8">2721</Counter>
- <Counter worker="9">2721</Counter>
- <Counter worker="10">2722</Counter>
- <Counter worker="11">2721</Counter>
- <Counter worker="12">2722</Counter>
- <Counter worker="13">2722</Counter>
- <Counter worker="14">2721</Counter>
- <Counter worker="15">2721</Counter>
- <Counter worker="16">2721</Counter>
- <Counter worker="17">2721</Counter>
- <Counter worker="18">2722</Counter>
- <Counter worker="19">2722</Counter>
- <Counter worker="20">2721</Counter>
- </OneMutex>
- <OneMutex activeWorker="22">
- <Counter worker="0">5060</Counter>
- <Counter worker="1">5060</Counter>
- <Counter worker="2">5060</Counter>
- <Counter worker="3">5060</Counter>
- <Counter worker="4">5060</Counter>
- <Counter worker="5">5060</Counter>
- <Counter worker="6">5060</Counter>
- <Counter worker="7">5060</Counter>
- <Counter worker="8">5060</Counter>
- <Counter worker="9">5060</Counter>
- <Counter worker="10">5060</Counter>
- <Counter worker="11">5060</Counter>
- <Counter worker="12">5060</Counter>
- <Counter worker="13">5060</Counter>
- <Counter worker="14">5060</Counter>
- <Counter worker="15">5060</Counter>
- <Counter worker="16">5060</Counter>
- <Counter worker="17">5060</Counter>
- <Counter worker="18">5060</Counter>
- <Counter worker="19">5060</Counter>
- <Counter worker="20">5060</Counter>
- <Counter worker="21">5060</Counter>
- </OneMutex>
- <OneMutex activeWorker="23">
- <Counter worker="0">4582</Counter>
- <Counter worker="1">4582</Counter>
- <Counter worker="2">4582</Counter>
- <Counter worker="3">4582</Counter>
- <Counter worker="4">4581</Counter>
- <Counter worker="5">4581</Counter>
- <Counter worker="6">4582</Counter>
- <Counter worker="7">4581</Counter>
- <Counter worker="8">4582</Counter>
- <Counter worker="9">4582</Counter>
- <Counter worker="10">4581</Counter>
- <Counter worker="11">4581</Counter>
- <Counter worker="12">4582</Counter>
- <Counter worker="13">4581</Counter>
- <Counter worker="14">4581</Counter>
- <Counter worker="15">4582</Counter>
- <Counter worker="16">4582</Counter>
- <Counter worker="17">4582</Counter>
- <Counter worker="18">4582</Counter>
- <Counter worker="19">4582</Counter>
- <Counter worker="20">4582</Counter>
- <Counter worker="21">4582</Counter>
- <Counter worker="22">4581</Counter>
- </OneMutex>
- <OneMutex activeWorker="24">
- <Counter worker="0">2433</Counter>
- <Counter worker="1">2433</Counter>
- <Counter worker="2">2432</Counter>
- <Counter worker="3">2433</Counter>
- <Counter worker="4">2432</Counter>
- <Counter worker="5">2432</Counter>
- <Counter worker="6">2433</Counter>
- <Counter worker="7">2433</Counter>
- <Counter worker="8">2433</Counter>
- <Counter worker="9">2432</Counter>
- <Counter worker="10">2433</Counter>
- <Counter worker="11">2433</Counter>
- <Counter worker="12">2433</Counter>
- <Counter worker="13">2433</Counter>
- <Counter worker="14">2433</Counter>
- <Counter worker="15">2432</Counter>
- <Counter worker="16">2433</Counter>
- <Counter worker="17">2432</Counter>
- <Counter worker="18">2433</Counter>
- <Counter worker="19">2432</Counter>
- <Counter worker="20">2433</Counter>
- <Counter worker="21">2433</Counter>
- <Counter worker="22">2434</Counter>
- <Counter worker="23">2432</Counter>
- </OneMutex>
- <ManyMutex activeWorker="1">
- <Counter worker="0">5001647</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="2">
- <Counter worker="0">4932033</Counter>
- <Counter worker="1">4932309</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="3">
- <Counter worker="0">4355923</Counter>
- <Counter worker="1">4925539</Counter>
- <Counter worker="2">4356158</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="4">
- <Counter worker="0">4276198</Counter>
- <Counter worker="1">4793125</Counter>
- <Counter worker="2">4792773</Counter>
- <Counter worker="3">4276295</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="5">
- <Counter worker="0">4735869</Counter>
- <Counter worker="1">4177346</Counter>
- <Counter worker="2">4736094</Counter>
- <Counter worker="3">4235871</Counter>
- <Counter worker="4">4731095</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="6">
- <Counter worker="0">4716270</Counter>
- <Counter worker="1">4258387</Counter>
- <Counter worker="2">4268838</Counter>
- <Counter worker="3">4698974</Counter>
- <Counter worker="4">4172075</Counter>
- <Counter worker="5">4719026</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="7">
- <Counter worker="0">4205327</Counter>
- <Counter worker="1">4202415</Counter>
- <Counter worker="2">4728528</Counter>
- <Counter worker="3">4741751</Counter>
- <Counter worker="4">4661144</Counter>
- <Counter worker="5">4728823</Counter>
- <Counter worker="6">4741645</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="8">
- <Counter worker="0">4700906</Counter>
- <Counter worker="1">4085992</Counter>
- <Counter worker="2">4700875</Counter>
- <Counter worker="3">4672269</Counter>
- <Counter worker="4">4641742</Counter>
- <Counter worker="5">4113941</Counter>
- <Counter worker="6">4634133</Counter>
- <Counter worker="7">4069049</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="9">
- <Counter worker="0">4706705</Counter>
- <Counter worker="1">2830546</Counter>
- <Counter worker="2">3640848</Counter>
- <Counter worker="3">4638947</Counter>
- <Counter worker="4">4106355</Counter>
- <Counter worker="5">4634726</Counter>
- <Counter worker="6">4199317</Counter>
- <Counter worker="7">4215455</Counter>
- <Counter worker="8">4706736</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="10">
- <Counter worker="0">4591261</Counter>
- <Counter worker="1">4967739</Counter>
- <Counter worker="2">4618369</Counter>
- <Counter worker="3">4063482</Counter>
- <Counter worker="4">4967727</Counter>
- <Counter worker="5">4162082</Counter>
- <Counter worker="6">4048161</Counter>
- <Counter worker="7">4649148</Counter>
- <Counter worker="8">4649140</Counter>
- <Counter worker="9">4631859</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="11">
- <Counter worker="0">4370677</Counter>
- <Counter worker="1">3026309</Counter>
- <Counter worker="2">2913790</Counter>
- <Counter worker="3">4677581</Counter>
- <Counter worker="4">4692968</Counter>
- <Counter worker="5">4780273</Counter>
- <Counter worker="6">4693509</Counter>
- <Counter worker="7">4495802</Counter>
- <Counter worker="8">4704240</Counter>
- <Counter worker="9">4703550</Counter>
- <Counter worker="10">4677478</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="12">
- <Counter worker="0">4107344</Counter>
- <Counter worker="1">4649662</Counter>
- <Counter worker="2">4676522</Counter>
- <Counter worker="3">3156738</Counter>
- <Counter worker="4">4671133</Counter>
- <Counter worker="5">4154985</Counter>
- <Counter worker="6">4785186</Counter>
- <Counter worker="7">4670956</Counter>
- <Counter worker="8">4126203</Counter>
- <Counter worker="9">4785157</Counter>
- <Counter worker="10">2842002</Counter>
- <Counter worker="11">4704576</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="13">
- <Counter worker="0">4658248</Counter>
- <Counter worker="1">3050246</Counter>
- <Counter worker="2">4822861</Counter>
- <Counter worker="3">2829258</Counter>
- <Counter worker="4">4804042</Counter>
- <Counter worker="5">4658270</Counter>
- <Counter worker="6">4651897</Counter>
- <Counter worker="7">4803978</Counter>
- <Counter worker="8">4618739</Counter>
- <Counter worker="9">4080735</Counter>
- <Counter worker="10">4641078</Counter>
- <Counter worker="11">4104333</Counter>
- <Counter worker="12">4085914</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="14">
- <Counter worker="0">2833004</Counter>
- <Counter worker="1">4774206</Counter>
- <Counter worker="2">4681710</Counter>
- <Counter worker="3">4191970</Counter>
- <Counter worker="4">2835639</Counter>
- <Counter worker="5">2832535</Counter>
- <Counter worker="6">4208974</Counter>
- <Counter worker="7">4500175</Counter>
- <Counter worker="8">4634735</Counter>
- <Counter worker="9">4534048</Counter>
- <Counter worker="10">4774225</Counter>
- <Counter worker="11">4367224</Counter>
- <Counter worker="12">2119256</Counter>
- <Counter worker="13">3685038</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="15">
- <Counter worker="0">4679948</Counter>
- <Counter worker="1">4679956</Counter>
- <Counter worker="2">4689624</Counter>
- <Counter worker="3">4095475</Counter>
- <Counter worker="4">4633249</Counter>
- <Counter worker="5">4694233</Counter>
- <Counter worker="6">4691234</Counter>
- <Counter worker="7">4633249</Counter>
- <Counter worker="8">4689597</Counter>
- <Counter worker="9">4689904</Counter>
- <Counter worker="10">4636792</Counter>
- <Counter worker="11">2890683</Counter>
- <Counter worker="12">4334695</Counter>
- <Counter worker="13">2890353</Counter>
- <Counter worker="14">4691398</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="16">
- <Counter worker="0">4721449</Counter>
- <Counter worker="1">4641755</Counter>
- <Counter worker="2">3147235</Counter>
- <Counter worker="3">4677026</Counter>
- <Counter worker="4">2858837</Counter>
- <Counter worker="5">4699482</Counter>
- <Counter worker="6">4721331</Counter>
- <Counter worker="7">3994802</Counter>
- <Counter worker="8">4699317</Counter>
- <Counter worker="9">4696404</Counter>
- <Counter worker="10">4589085</Counter>
- <Counter worker="11">4108168</Counter>
- <Counter worker="12">4720500</Counter>
- <Counter worker="13">4676953</Counter>
- <Counter worker="14">4643243</Counter>
- <Counter worker="15">4720497</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="17">
- <Counter worker="0">4645420</Counter>
- <Counter worker="1">4680196</Counter>
- <Counter worker="2">4686848</Counter>
- <Counter worker="3">4647270</Counter>
- <Counter worker="4">4681748</Counter>
- <Counter worker="5">4634369</Counter>
- <Counter worker="6">4682734</Counter>
- <Counter worker="7">2856905</Counter>
- <Counter worker="8">3516034</Counter>
- <Counter worker="9">4636223</Counter>
- <Counter worker="10">4684119</Counter>
- <Counter worker="11">4684619</Counter>
- <Counter worker="12">4633361</Counter>
- <Counter worker="13">4633572</Counter>
- <Counter worker="14">4644454</Counter>
- <Counter worker="15">4642238</Counter>
- <Counter worker="16">4680224</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="18">
- <Counter worker="0">3968745</Counter>
- <Counter worker="1">4692720</Counter>
- <Counter worker="2">4691924</Counter>
- <Counter worker="3">4927117</Counter>
- <Counter worker="4">4684103</Counter>
- <Counter worker="5">4686784</Counter>
- <Counter worker="6">4552054</Counter>
- <Counter worker="7">4687372</Counter>
- <Counter worker="8">2814828</Counter>
- <Counter worker="9">4678196</Counter>
- <Counter worker="10">3019413</Counter>
- <Counter worker="11">4702658</Counter>
- <Counter worker="12">2799802</Counter>
- <Counter worker="13">3006627</Counter>
- <Counter worker="14">4683463</Counter>
- <Counter worker="15">4677772</Counter>
- <Counter worker="16">4645772</Counter>
- <Counter worker="17">4927146</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="19">
- <Counter worker="0">4601592</Counter>
- <Counter worker="1">4714461</Counter>
- <Counter worker="2">4883685</Counter>
- <Counter worker="3">3028508</Counter>
- <Counter worker="4">4654222</Counter>
- <Counter worker="5">2933007</Counter>
- <Counter worker="6">4724241</Counter>
- <Counter worker="7">4718472</Counter>
- <Counter worker="8">4570831</Counter>
- <Counter worker="9">4718483</Counter>
- <Counter worker="10">4724097</Counter>
- <Counter worker="11">4713870</Counter>
- <Counter worker="12">4703195</Counter>
- <Counter worker="13">4165705</Counter>
- <Counter worker="14">4711178</Counter>
- <Counter worker="15">4883702</Counter>
- <Counter worker="16">4711294</Counter>
- <Counter worker="17">4703238</Counter>
- <Counter worker="18">4654312</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="20">
- <Counter worker="0">4651301</Counter>
- <Counter worker="1">3690905</Counter>
- <Counter worker="2">3105263</Counter>
- <Counter worker="3">4697287</Counter>
- <Counter worker="4">4638522</Counter>
- <Counter worker="5">4650722</Counter>
- <Counter worker="6">2962962</Counter>
- <Counter worker="7">4112623</Counter>
- <Counter worker="8">4638656</Counter>
- <Counter worker="9">2033536</Counter>
- <Counter worker="10">4675666</Counter>
- <Counter worker="11">4467698</Counter>
- <Counter worker="12">4389797</Counter>
- <Counter worker="13">4468602</Counter>
- <Counter worker="14">2818900</Counter>
- <Counter worker="15">4536994</Counter>
- <Counter worker="16">3093343</Counter>
- <Counter worker="17">2819049</Counter>
- <Counter worker="18">3060340</Counter>
- <Counter worker="19">2902497</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="21">
- <Counter worker="0">2812125</Counter>
- <Counter worker="1">2976769</Counter>
- <Counter worker="2">4554538</Counter>
- <Counter worker="3">4606816</Counter>
- <Counter worker="4">4479562</Counter>
- <Counter worker="5">2992810</Counter>
- <Counter worker="6">4661692</Counter>
- <Counter worker="7">4709972</Counter>
- <Counter worker="8">4597719</Counter>
- <Counter worker="9">4608597</Counter>
- <Counter worker="10">4609552</Counter>
- <Counter worker="11">4709758</Counter>
- <Counter worker="12">4661224</Counter>
- <Counter worker="13">4519832</Counter>
- <Counter worker="14">4746960</Counter>
- <Counter worker="15">4609189</Counter>
- <Counter worker="16">4752379</Counter>
- <Counter worker="17">4596670</Counter>
- <Counter worker="18">4810470</Counter>
- <Counter worker="19">2858016</Counter>
- <Counter worker="20">4752412</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="22">
- <Counter worker="0">4702947</Counter>
- <Counter worker="1">4443206</Counter>
- <Counter worker="2">4727685</Counter>
- <Counter worker="3">4540248</Counter>
- <Counter worker="4">4658159</Counter>
- <Counter worker="5">4126514</Counter>
- <Counter worker="6">4791039</Counter>
- <Counter worker="7">2894757</Counter>
- <Counter worker="8">1955087</Counter>
- <Counter worker="9">4702969</Counter>
- <Counter worker="10">2817541</Counter>
- <Counter worker="11">4420635</Counter>
- <Counter worker="12">2921923</Counter>
- <Counter worker="13">2650900</Counter>
- <Counter worker="14">2862766</Counter>
- <Counter worker="15">3687545</Counter>
- <Counter worker="16">2874883</Counter>
- <Counter worker="17">2940336</Counter>
- <Counter worker="18">2776021</Counter>
- <Counter worker="19">3127586</Counter>
- <Counter worker="20">4090728</Counter>
- <Counter worker="21">2337871</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="23">
- <Counter worker="0">4529255</Counter>
- <Counter worker="1">4718656</Counter>
- <Counter worker="2">1922439</Counter>
- <Counter worker="3">4693004</Counter>
- <Counter worker="4">4684958</Counter>
- <Counter worker="5">2886050</Counter>
- <Counter worker="6">3066101</Counter>
- <Counter worker="7">3610129</Counter>
- <Counter worker="8">2810938</Counter>
- <Counter worker="9">4633095</Counter>
- <Counter worker="10">2900751</Counter>
- <Counter worker="11">4632884</Counter>
- <Counter worker="12">4692840</Counter>
- <Counter worker="13">4420163</Counter>
- <Counter worker="14">1996345</Counter>
- <Counter worker="15">3643801</Counter>
- <Counter worker="16">2826674</Counter>
- <Counter worker="17">2883468</Counter>
- <Counter worker="18">4558270</Counter>
- <Counter worker="19">4416614</Counter>
- <Counter worker="20">2860484</Counter>
- <Counter worker="21">2892545</Counter>
- <Counter worker="22">4488266</Counter>
- </ManyMutex>
- <ManyMutex activeWorker="24">
- <Counter worker="0">4578849</Counter>
- <Counter worker="1">4636230</Counter>
- <Counter worker="2">3022974</Counter>
- <Counter worker="3">2822574</Counter>
- <Counter worker="4">4731087</Counter>
- <Counter worker="5">4731131</Counter>
- <Counter worker="6">4689840</Counter>
- <Counter worker="7">4070922</Counter>
- <Counter worker="8">4689653</Counter>
- <Counter worker="9">4477380</Counter>
- <Counter worker="10">4642053</Counter>
- <Counter worker="11">4731990</Counter>
- <Counter worker="12">2819820</Counter>
- <Counter worker="13">4097315</Counter>
- <Counter worker="14">2839488</Counter>
- <Counter worker="15">2107643</Counter>
- <Counter worker="16">4682013</Counter>
- <Counter worker="17">4682337</Counter>
- <Counter worker="18">4583332</Counter>
- <Counter worker="19">3013463</Counter>
- <Counter worker="20">4532706</Counter>
- <Counter worker="21">4653764</Counter>
- <Counter worker="22">3720162</Counter>
- <Counter worker="23">4120464</Counter>
- </ManyMutex>
- <SelfMsg activeWorker="1">
- <Counter worker="0">3484359</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="2">
- <Counter worker="0">3291417</Counter>
- <Counter worker="1">3291652</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="3">
- <Counter worker="0">3243274</Counter>
- <Counter worker="1">2918376</Counter>
- <Counter worker="2">2983608</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="4">
- <Counter worker="0">3203853</Counter>
- <Counter worker="1">2895866</Counter>
- <Counter worker="2">2917648</Counter>
- <Counter worker="3">3306218</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="5">
- <Counter worker="0">3172566</Counter>
- <Counter worker="1">2850649</Counter>
- <Counter worker="2">2876474</Counter>
- <Counter worker="3">2993084</Counter>
- <Counter worker="4">3037697</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="6">
- <Counter worker="0">3176969</Counter>
- <Counter worker="1">2852043</Counter>
- <Counter worker="2">2878751</Counter>
- <Counter worker="3">2996638</Counter>
- <Counter worker="4">2798362</Counter>
- <Counter worker="5">3098269</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="7">
- <Counter worker="0">3143837</Counter>
- <Counter worker="1">2820072</Counter>
- <Counter worker="2">2849545</Counter>
- <Counter worker="3">2965415</Counter>
- <Counter worker="4">2791805</Counter>
- <Counter worker="5">2995583</Counter>
- <Counter worker="6">3223833</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="8">
- <Counter worker="0">3106671</Counter>
- <Counter worker="1">2774975</Counter>
- <Counter worker="2">2810843</Counter>
- <Counter worker="3">2934576</Counter>
- <Counter worker="4">2743550</Counter>
- <Counter worker="5">2961241</Counter>
- <Counter worker="6">2801048</Counter>
- <Counter worker="7">2981597</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="9">
- <Counter worker="0">3126404</Counter>
- <Counter worker="1">2792565</Counter>
- <Counter worker="2">2828797</Counter>
- <Counter worker="3">2953257</Counter>
- <Counter worker="4">2761418</Counter>
- <Counter worker="5">2980177</Counter>
- <Counter worker="6">2818788</Counter>
- <Counter worker="7">3000161</Counter>
- <Counter worker="8">3522606</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="10">
- <Counter worker="0">3114675</Counter>
- <Counter worker="1">2782305</Counter>
- <Counter worker="2">2818067</Counter>
- <Counter worker="3">2942325</Counter>
- <Counter worker="4">2750895</Counter>
- <Counter worker="5">2969190</Counter>
- <Counter worker="6">2808330</Counter>
- <Counter worker="7">2988513</Counter>
- <Counter worker="8">3277977</Counter>
- <Counter worker="9">3277992</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="11">
- <Counter worker="0">3134167</Counter>
- <Counter worker="1">2799405</Counter>
- <Counter worker="2">2835531</Counter>
- <Counter worker="3">2960559</Counter>
- <Counter worker="4">2768383</Counter>
- <Counter worker="5">2987172</Counter>
- <Counter worker="6">2825869</Counter>
- <Counter worker="7">3008169</Counter>
- <Counter worker="8">3229937</Counter>
- <Counter worker="9">2865157</Counter>
- <Counter worker="10">2924109</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="12">
- <Counter worker="0">3122298</Counter>
- <Counter worker="1">2788834</Counter>
- <Counter worker="2">2824886</Counter>
- <Counter worker="3">2949367</Counter>
- <Counter worker="4">2757481</Counter>
- <Counter worker="5">2976034</Counter>
- <Counter worker="6">2814952</Counter>
- <Counter worker="7">2996594</Counter>
- <Counter worker="8">3196270</Counter>
- <Counter worker="9">2832912</Counter>
- <Counter worker="10">2868202</Counter>
- <Counter worker="11">3287941</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="13">
- <Counter worker="0">3110296</Counter>
- <Counter worker="1">2778328</Counter>
- <Counter worker="2">2814097</Counter>
- <Counter worker="3">2938082</Counter>
- <Counter worker="4">2747046</Counter>
- <Counter worker="5">2964597</Counter>
- <Counter worker="6">2804214</Counter>
- <Counter worker="7">2985167</Counter>
- <Counter worker="8">3162003</Counter>
- <Counter worker="9">2798958</Counter>
- <Counter worker="10">2828824</Counter>
- <Counter worker="11">2981162</Counter>
- <Counter worker="12">3033576</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="14">
- <Counter worker="0">3129719</Counter>
- <Counter worker="1">2795774</Counter>
- <Counter worker="2">2831742</Counter>
- <Counter worker="3">2956427</Counter>
- <Counter worker="4">2764251</Counter>
- <Counter worker="5">2983507</Counter>
- <Counter worker="6">2821804</Counter>
- <Counter worker="7">3003302</Counter>
- <Counter worker="8">3168182</Counter>
- <Counter worker="9">2795213</Counter>
- <Counter worker="10">2824824</Counter>
- <Counter worker="11">2985326</Counter>
- <Counter worker="12">2788203</Counter>
- <Counter worker="13">3060880</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="15">
- <Counter worker="0">3117749</Counter>
- <Counter worker="1">2785075</Counter>
- <Counter worker="2">2821028</Counter>
- <Counter worker="3">2945205</Counter>
- <Counter worker="4">2753587</Counter>
- <Counter worker="5">2971692</Counter>
- <Counter worker="6">2811184</Counter>
- <Counter worker="7">2991870</Counter>
- <Counter worker="8">3136894</Counter>
- <Counter worker="9">2769370</Counter>
- <Counter worker="10">2799325</Counter>
- <Counter worker="11">2955115</Counter>
- <Counter worker="12">2791275</Counter>
- <Counter worker="13">2965355</Counter>
- <Counter worker="14">3235028</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="16">
- <Counter worker="0">3105837</Counter>
- <Counter worker="1">2774385</Counter>
- <Counter worker="2">2809948</Counter>
- <Counter worker="3">2933935</Counter>
- <Counter worker="4">2743165</Counter>
- <Counter worker="5">2960594</Counter>
- <Counter worker="6">2800417</Counter>
- <Counter worker="7">2980234</Counter>
- <Counter worker="8">3107685</Counter>
- <Counter worker="9">2740597</Counter>
- <Counter worker="10">2772059</Counter>
- <Counter worker="11">2927128</Counter>
- <Counter worker="12">2757027</Counter>
- <Counter worker="13">2938382</Counter>
- <Counter worker="14">2823137</Counter>
- <Counter worker="15">2965765</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="17">
- <Counter worker="0">3125383</Counter>
- <Counter worker="1">2791802</Counter>
- <Counter worker="2">2827715</Counter>
- <Counter worker="3">2952217</Counter>
- <Counter worker="4">2760266</Counter>
- <Counter worker="5">2978746</Counter>
- <Counter worker="6">2817802</Counter>
- <Counter worker="7">2999395</Counter>
- <Counter worker="8">3127170</Counter>
- <Counter worker="9">2757456</Counter>
- <Counter worker="10">2789249</Counter>
- <Counter worker="11">2945471</Counter>
- <Counter worker="12">2774281</Counter>
- <Counter worker="13">2956715</Counter>
- <Counter worker="14">2840683</Counter>
- <Counter worker="15">2984166</Counter>
- <Counter worker="16">3488200</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="18">
- <Counter worker="0">3113425</Counter>
- <Counter worker="1">2781071</Counter>
- <Counter worker="2">2816875</Counter>
- <Counter worker="3">2940987</Counter>
- <Counter worker="4">2749614</Counter>
- <Counter worker="5">2967301</Counter>
- <Counter worker="6">2806975</Counter>
- <Counter worker="7">2987963</Counter>
- <Counter worker="8">3115249</Counter>
- <Counter worker="9">2746969</Counter>
- <Counter worker="10">2778738</Counter>
- <Counter worker="11">2934226</Counter>
- <Counter worker="12">2763956</Counter>
- <Counter worker="13">2945765</Counter>
- <Counter worker="14">2829840</Counter>
- <Counter worker="15">2973224</Counter>
- <Counter worker="16">3271018</Counter>
- <Counter worker="17">3271054</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="19">
- <Counter worker="0">3132890</Counter>
- <Counter worker="1">2798349</Counter>
- <Counter worker="2">2834203</Counter>
- <Counter worker="3">2959395</Counter>
- <Counter worker="4">2766985</Counter>
- <Counter worker="5">2986288</Counter>
- <Counter worker="6">2824544</Counter>
- <Counter worker="7">3006439</Counter>
- <Counter worker="8">3134700</Counter>
- <Counter worker="9">2764127</Counter>
- <Counter worker="10">2795782</Counter>
- <Counter worker="11">2952538</Counter>
- <Counter worker="12">2780908</Counter>
- <Counter worker="13">2963890</Counter>
- <Counter worker="14">2847586</Counter>
- <Counter worker="15">2991552</Counter>
- <Counter worker="16">3245981</Counter>
- <Counter worker="17">2954280</Counter>
- <Counter worker="18">2960399</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="20">
- <Counter worker="0">3120930</Counter>
- <Counter worker="1">2787696</Counter>
- <Counter worker="2">2823649</Counter>
- <Counter worker="3">2948070</Counter>
- <Counter worker="4">2756563</Counter>
- <Counter worker="5">2974809</Counter>
- <Counter worker="6">2813905</Counter>
- <Counter worker="7">2995333</Counter>
- <Counter worker="8">3122781</Counter>
- <Counter worker="9">2753746</Counter>
- <Counter worker="10">2785385</Counter>
- <Counter worker="11">2941360</Counter>
- <Counter worker="12">2770370</Counter>
- <Counter worker="13">2952557</Counter>
- <Counter worker="14">2836606</Counter>
- <Counter worker="15">2981020</Counter>
- <Counter worker="16">3210075</Counter>
- <Counter worker="17">2900766</Counter>
- <Counter worker="18">2922137</Counter>
- <Counter worker="19">3306794</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="21">
- <Counter worker="0">3108909</Counter>
- <Counter worker="1">2777145</Counter>
- <Counter worker="2">2812866</Counter>
- <Counter worker="3">2936889</Counter>
- <Counter worker="4">2745714</Counter>
- <Counter worker="5">2963451</Counter>
- <Counter worker="6">2803246</Counter>
- <Counter worker="7">2983352</Counter>
- <Counter worker="8">3110869</Counter>
- <Counter worker="9">2743126</Counter>
- <Counter worker="10">2774923</Counter>
- <Counter worker="11">2930071</Counter>
- <Counter worker="12">2759954</Counter>
- <Counter worker="13">2941606</Counter>
- <Counter worker="14">2825771</Counter>
- <Counter worker="15">2969489</Counter>
- <Counter worker="16">3177890</Counter>
- <Counter worker="17">2868416</Counter>
- <Counter worker="18">2886398</Counter>
- <Counter worker="19">3000295</Counter>
- <Counter worker="20">3041648</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="22">
- <Counter worker="0">3128424</Counter>
- <Counter worker="1">2794396</Counter>
- <Counter worker="2">2830500</Counter>
- <Counter worker="3">2955267</Counter>
- <Counter worker="4">2763218</Counter>
- <Counter worker="5">2982154</Counter>
- <Counter worker="6">2820802</Counter>
- <Counter worker="7">3001915</Counter>
- <Counter worker="8">3130343</Counter>
- <Counter worker="9">2760287</Counter>
- <Counter worker="10">2792228</Counter>
- <Counter worker="11">2948428</Counter>
- <Counter worker="12">2777381</Counter>
- <Counter worker="13">2960097</Counter>
- <Counter worker="14">2843445</Counter>
- <Counter worker="15">2987356</Counter>
- <Counter worker="16">3179030</Counter>
- <Counter worker="17">2869858</Counter>
- <Counter worker="18">2888921</Counter>
- <Counter worker="19">3003560</Counter>
- <Counter worker="20">2800382</Counter>
- <Counter worker="21">3080561</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="23">
- <Counter worker="0">3116426</Counter>
- <Counter worker="1">2783664</Counter>
- <Counter worker="2">2819691</Counter>
- <Counter worker="3">2943818</Counter>
- <Counter worker="4">2752563</Counter>
- <Counter worker="5">2970563</Counter>
- <Counter worker="6">2810085</Counter>
- <Counter worker="7">2990572</Counter>
- <Counter worker="8">3118382</Counter>
- <Counter worker="9">2749721</Counter>
- <Counter worker="10">2781546</Counter>
- <Counter worker="11">2937163</Counter>
- <Counter worker="12">2766431</Counter>
- <Counter worker="13">2948572</Counter>
- <Counter worker="14">2832634</Counter>
- <Counter worker="15">2975988</Counter>
- <Counter worker="16">3149076</Counter>
- <Counter worker="17">2832666</Counter>
- <Counter worker="18">2854858</Counter>
- <Counter worker="19">2972102</Counter>
- <Counter worker="20">2793073</Counter>
- <Counter worker="21">2986039</Counter>
- <Counter worker="22">3225121</Counter>
- </SelfMsg>
- <SelfMsg activeWorker="24">
- <Counter worker="0">3135941</Counter>
- <Counter worker="1">2801108</Counter>
- <Counter worker="2">2837415</Counter>
- <Counter worker="3">2962374</Counter>
- <Counter worker="4">2769627</Counter>
- <Counter worker="5">2989102</Counter>
- <Counter worker="6">2827394</Counter>
- <Counter worker="7">3009512</Counter>
- <Counter worker="8">3137796</Counter>
- <Counter worker="9">2766961</Counter>
- <Counter worker="10">2798946</Counter>
- <Counter worker="11">2955433</Counter>
- <Counter worker="12">2783657</Counter>
- <Counter worker="13">2966727</Counter>
- <Counter worker="14">2850374</Counter>
- <Counter worker="15">2995580</Counter>
- <Counter worker="16">3148697</Counter>
- <Counter worker="17">2826014</Counter>
- <Counter worker="18">2851067</Counter>
- <Counter worker="19">2971518</Counter>
- <Counter worker="20">2793285</Counter>
- <Counter worker="21">2985399</Counter>
- <Counter worker="22">2839863</Counter>
- <Counter worker="23">3046065</Counter>
- </SelfMsg>
- <ManyToOneMsg activeWorker="1">
- <Counter worker="0">3513959</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="2">
- <Counter worker="0">2148757</Counter>
- <Counter worker="1">4297993</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="3">
- <Counter worker="0">1452258</Counter>
- <Counter worker="1">2904799</Counter>
- <Counter worker="2">2905020</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="4">
- <Counter worker="0">1251019</Counter>
- <Counter worker="1">2502307</Counter>
- <Counter worker="2">2502360</Counter>
- <Counter worker="3">2502336</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="5">
- <Counter worker="0">969243</Counter>
- <Counter worker="1">1938692</Counter>
- <Counter worker="2">1938759</Counter>
- <Counter worker="3">1938750</Counter>
- <Counter worker="4">1938748</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="6">
- <Counter worker="0">888969</Counter>
- <Counter worker="1">1778150</Counter>
- <Counter worker="2">1778176</Counter>
- <Counter worker="3">1778186</Counter>
- <Counter worker="4">1778185</Counter>
- <Counter worker="5">1778201</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="7">
- <Counter worker="0">736930</Counter>
- <Counter worker="1">1474061</Counter>
- <Counter worker="2">1474091</Counter>
- <Counter worker="3">1474088</Counter>
- <Counter worker="4">1474098</Counter>
- <Counter worker="5">1474102</Counter>
- <Counter worker="6">1474091</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="8">
- <Counter worker="0">690772</Counter>
- <Counter worker="1">1381767</Counter>
- <Counter worker="2">1381778</Counter>
- <Counter worker="3">1381787</Counter>
- <Counter worker="4">1381767</Counter>
- <Counter worker="5">1381780</Counter>
- <Counter worker="6">1381774</Counter>
- <Counter worker="7">1381762</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="9">
- <Counter worker="0">220518</Counter>
- <Counter worker="1">441123</Counter>
- <Counter worker="2">441112</Counter>
- <Counter worker="3">441154</Counter>
- <Counter worker="4">441164</Counter>
- <Counter worker="5">441164</Counter>
- <Counter worker="6">441156</Counter>
- <Counter worker="7">441176</Counter>
- <Counter worker="8">441129</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="10">
- <Counter worker="0">195773</Counter>
- <Counter worker="1">391623</Counter>
- <Counter worker="2">391629</Counter>
- <Counter worker="3">391634</Counter>
- <Counter worker="4">391637</Counter>
- <Counter worker="5">391622</Counter>
- <Counter worker="6">391626</Counter>
- <Counter worker="7">391634</Counter>
- <Counter worker="8">391666</Counter>
- <Counter worker="9">391680</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="11">
- <Counter worker="0">176797</Counter>
- <Counter worker="1">353626</Counter>
- <Counter worker="2">353641</Counter>
- <Counter worker="3">353633</Counter>
- <Counter worker="4">353640</Counter>
- <Counter worker="5">353639</Counter>
- <Counter worker="6">353633</Counter>
- <Counter worker="7">353638</Counter>
- <Counter worker="8">353682</Counter>
- <Counter worker="9">353691</Counter>
- <Counter worker="10">353692</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="12">
- <Counter worker="0">162870</Counter>
- <Counter worker="1">325764</Counter>
- <Counter worker="2">325774</Counter>
- <Counter worker="3">325776</Counter>
- <Counter worker="4">325780</Counter>
- <Counter worker="5">325777</Counter>
- <Counter worker="6">325782</Counter>
- <Counter worker="7">325773</Counter>
- <Counter worker="8">325785</Counter>
- <Counter worker="9">325795</Counter>
- <Counter worker="10">325790</Counter>
- <Counter worker="11">325791</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="13">
- <Counter worker="0">148531</Counter>
- <Counter worker="1">297092</Counter>
- <Counter worker="2">297094</Counter>
- <Counter worker="3">297096</Counter>
- <Counter worker="4">297090</Counter>
- <Counter worker="5">297097</Counter>
- <Counter worker="6">297088</Counter>
- <Counter worker="7">297094</Counter>
- <Counter worker="8">297102</Counter>
- <Counter worker="9">297104</Counter>
- <Counter worker="10">297105</Counter>
- <Counter worker="11">297101</Counter>
- <Counter worker="12">297106</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="14">
- <Counter worker="0">139216</Counter>
- <Counter worker="1">278451</Counter>
- <Counter worker="2">278457</Counter>
- <Counter worker="3">278454</Counter>
- <Counter worker="4">278460</Counter>
- <Counter worker="5">278454</Counter>
- <Counter worker="6">278456</Counter>
- <Counter worker="7">278455</Counter>
- <Counter worker="8">278462</Counter>
- <Counter worker="9">278466</Counter>
- <Counter worker="10">278460</Counter>
- <Counter worker="11">278465</Counter>
- <Counter worker="12">278461</Counter>
- <Counter worker="13">278461</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="15">
- <Counter worker="0">128494</Counter>
- <Counter worker="1">257011</Counter>
- <Counter worker="2">257013</Counter>
- <Counter worker="3">257014</Counter>
- <Counter worker="4">257011</Counter>
- <Counter worker="5">257014</Counter>
- <Counter worker="6">257010</Counter>
- <Counter worker="7">257007</Counter>
- <Counter worker="8">257012</Counter>
- <Counter worker="9">257015</Counter>
- <Counter worker="10">257014</Counter>
- <Counter worker="11">257011</Counter>
- <Counter worker="12">257014</Counter>
- <Counter worker="13">257014</Counter>
- <Counter worker="14">257018</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="16">
- <Counter worker="0">118432</Counter>
- <Counter worker="1">236882</Counter>
- <Counter worker="2">236885</Counter>
- <Counter worker="3">236883</Counter>
- <Counter worker="4">236886</Counter>
- <Counter worker="5">236886</Counter>
- <Counter worker="6">236886</Counter>
- <Counter worker="7">236887</Counter>
- <Counter worker="8">236890</Counter>
- <Counter worker="9">236885</Counter>
- <Counter worker="10">236888</Counter>
- <Counter worker="11">236886</Counter>
- <Counter worker="12">236888</Counter>
- <Counter worker="13">236889</Counter>
- <Counter worker="14">236881</Counter>
- <Counter worker="15">236882</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="17">
- <Counter worker="0">112260</Counter>
- <Counter worker="1">224532</Counter>
- <Counter worker="2">224536</Counter>
- <Counter worker="3">224536</Counter>
- <Counter worker="4">224535</Counter>
- <Counter worker="5">224536</Counter>
- <Counter worker="6">224535</Counter>
- <Counter worker="7">224535</Counter>
- <Counter worker="8">224534</Counter>
- <Counter worker="9">224536</Counter>
- <Counter worker="10">224534</Counter>
- <Counter worker="11">224532</Counter>
- <Counter worker="12">224535</Counter>
- <Counter worker="13">224537</Counter>
- <Counter worker="14">224533</Counter>
- <Counter worker="15">224536</Counter>
- <Counter worker="16">224539</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="18">
- <Counter worker="0">104670</Counter>
- <Counter worker="1">209354</Counter>
- <Counter worker="2">209355</Counter>
- <Counter worker="3">209354</Counter>
- <Counter worker="4">209359</Counter>
- <Counter worker="5">209361</Counter>
- <Counter worker="6">209356</Counter>
- <Counter worker="7">209358</Counter>
- <Counter worker="8">209356</Counter>
- <Counter worker="9">209354</Counter>
- <Counter worker="10">209353</Counter>
- <Counter worker="11">209354</Counter>
- <Counter worker="12">209357</Counter>
- <Counter worker="13">209356</Counter>
- <Counter worker="14">209355</Counter>
- <Counter worker="15">209353</Counter>
- <Counter worker="16">209360</Counter>
- <Counter worker="17">209362</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="19">
- <Counter worker="0">98829</Counter>
- <Counter worker="1">197675</Counter>
- <Counter worker="2">197673</Counter>
- <Counter worker="3">197672</Counter>
- <Counter worker="4">197674</Counter>
- <Counter worker="5">197674</Counter>
- <Counter worker="6">197672</Counter>
- <Counter worker="7">197672</Counter>
- <Counter worker="8">197672</Counter>
- <Counter worker="9">197671</Counter>
- <Counter worker="10">197671</Counter>
- <Counter worker="11">197669</Counter>
- <Counter worker="12">197672</Counter>
- <Counter worker="13">197674</Counter>
- <Counter worker="14">197675</Counter>
- <Counter worker="15">197669</Counter>
- <Counter worker="16">197676</Counter>
- <Counter worker="17">197678</Counter>
- <Counter worker="18">197676</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="20">
- <Counter worker="0">92505</Counter>
- <Counter worker="1">185021</Counter>
- <Counter worker="2">185021</Counter>
- <Counter worker="3">185025</Counter>
- <Counter worker="4">185025</Counter>
- <Counter worker="5">185021</Counter>
- <Counter worker="6">185022</Counter>
- <Counter worker="7">185022</Counter>
- <Counter worker="8">185023</Counter>
- <Counter worker="9">185023</Counter>
- <Counter worker="10">185020</Counter>
- <Counter worker="11">185021</Counter>
- <Counter worker="12">185022</Counter>
- <Counter worker="13">185025</Counter>
- <Counter worker="14">185022</Counter>
- <Counter worker="15">185024</Counter>
- <Counter worker="16">185027</Counter>
- <Counter worker="17">185029</Counter>
- <Counter worker="18">185025</Counter>
- <Counter worker="19">185027</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="21">
- <Counter worker="0">88095</Counter>
- <Counter worker="1">176199</Counter>
- <Counter worker="2">176202</Counter>
- <Counter worker="3">176199</Counter>
- <Counter worker="4">176201</Counter>
- <Counter worker="5">176201</Counter>
- <Counter worker="6">176201</Counter>
- <Counter worker="7">176202</Counter>
- <Counter worker="8">176198</Counter>
- <Counter worker="9">176200</Counter>
- <Counter worker="10">176197</Counter>
- <Counter worker="11">176199</Counter>
- <Counter worker="12">176197</Counter>
- <Counter worker="13">176202</Counter>
- <Counter worker="14">176198</Counter>
- <Counter worker="15">176199</Counter>
- <Counter worker="16">176204</Counter>
- <Counter worker="17">176203</Counter>
- <Counter worker="18">176203</Counter>
- <Counter worker="19">176206</Counter>
- <Counter worker="20">176204</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="22">
- <Counter worker="0">84520</Counter>
- <Counter worker="1">169052</Counter>
- <Counter worker="2">169051</Counter>
- <Counter worker="3">169053</Counter>
- <Counter worker="4">169051</Counter>
- <Counter worker="5">169056</Counter>
- <Counter worker="6">169050</Counter>
- <Counter worker="7">169052</Counter>
- <Counter worker="8">169052</Counter>
- <Counter worker="9">169053</Counter>
- <Counter worker="10">169050</Counter>
- <Counter worker="11">169051</Counter>
- <Counter worker="12">169052</Counter>
- <Counter worker="13">169053</Counter>
- <Counter worker="14">169051</Counter>
- <Counter worker="15">169051</Counter>
- <Counter worker="16">169054</Counter>
- <Counter worker="17">169056</Counter>
- <Counter worker="18">169053</Counter>
- <Counter worker="19">169055</Counter>
- <Counter worker="20">169055</Counter>
- <Counter worker="21">169054</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="23">
- <Counter worker="0">79421</Counter>
- <Counter worker="1">158852</Counter>
- <Counter worker="2">158852</Counter>
- <Counter worker="3">158854</Counter>
- <Counter worker="4">158852</Counter>
- <Counter worker="5">158853</Counter>
- <Counter worker="6">158853</Counter>
- <Counter worker="7">158853</Counter>
- <Counter worker="8">158852</Counter>
- <Counter worker="9">158854</Counter>
- <Counter worker="10">158852</Counter>
- <Counter worker="11">158851</Counter>
- <Counter worker="12">158853</Counter>
- <Counter worker="13">158854</Counter>
- <Counter worker="14">158850</Counter>
- <Counter worker="15">158852</Counter>
- <Counter worker="16">158855</Counter>
- <Counter worker="17">158855</Counter>
- <Counter worker="18">158851</Counter>
- <Counter worker="19">158854</Counter>
- <Counter worker="20">158853</Counter>
- <Counter worker="21">158854</Counter>
- <Counter worker="22">158854</Counter>
- </ManyToOneMsg>
- <ManyToOneMsg activeWorker="24">
- <Counter worker="0">75524</Counter>
- <Counter worker="1">151058</Counter>
- <Counter worker="2">151058</Counter>
- <Counter worker="3">151057</Counter>
- <Counter worker="4">151060</Counter>
- <Counter worker="5">151057</Counter>
- <Counter worker="6">151056</Counter>
- <Counter worker="7">151056</Counter>
- <Counter worker="8">151057</Counter>
- <Counter worker="9">151057</Counter>
- <Counter worker="10">151058</Counter>
- <Counter worker="11">151058</Counter>
- <Counter worker="12">151056</Counter>
- <Counter worker="13">151057</Counter>
- <Counter worker="14">151055</Counter>
- <Counter worker="15">151056</Counter>
- <Counter worker="16">151057</Counter>
- <Counter worker="17">151056</Counter>
- <Counter worker="18">151055</Counter>
- <Counter worker="19">151057</Counter>
- <Counter worker="20">151057</Counter>
- <Counter worker="21">151057</Counter>
- <Counter worker="22">151056</Counter>
- <Counter worker="23">151056</Counter>
- </ManyToOneMsg>
- <ManySysLockMutex activeWorker="1">
- <Counter worker="0">7748082</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="2">
- <Counter worker="0">7647592</Counter>
- <Counter worker="1">7648024</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="3">
- <Counter worker="0">7462713</Counter>
- <Counter worker="1">7463150</Counter>
- <Counter worker="2">7463302</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="4">
- <Counter worker="0">7227558</Counter>
- <Counter worker="1">7228059</Counter>
- <Counter worker="2">7228161</Counter>
- <Counter worker="3">7228157</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="5">
- <Counter worker="0">7271144</Counter>
- <Counter worker="1">7271595</Counter>
- <Counter worker="2">7271690</Counter>
- <Counter worker="3">7271685</Counter>
- <Counter worker="4">7278972</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="6">
- <Counter worker="0">7115560</Counter>
- <Counter worker="1">7115973</Counter>
- <Counter worker="2">7116081</Counter>
- <Counter worker="3">7116116</Counter>
- <Counter worker="4">7116156</Counter>
- <Counter worker="5">7116139</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="7">
- <Counter worker="0">7032158</Counter>
- <Counter worker="1">7032584</Counter>
- <Counter worker="2">7032605</Counter>
- <Counter worker="3">7032700</Counter>
- <Counter worker="4">7032840</Counter>
- <Counter worker="5">7032751</Counter>
- <Counter worker="6">7033457</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="8">
- <Counter worker="0">6943403</Counter>
- <Counter worker="1">6943907</Counter>
- <Counter worker="2">6944388</Counter>
- <Counter worker="3">6944535</Counter>
- <Counter worker="4">6945558</Counter>
- <Counter worker="5">6945385</Counter>
- <Counter worker="6">6944965</Counter>
- <Counter worker="7">6945056</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="9">
- <Counter worker="0">6904189</Counter>
- <Counter worker="1">6904648</Counter>
- <Counter worker="2">6904665</Counter>
- <Counter worker="3">6904794</Counter>
- <Counter worker="4">6906704</Counter>
- <Counter worker="5">6906596</Counter>
- <Counter worker="6">6905038</Counter>
- <Counter worker="7">6905171</Counter>
- <Counter worker="8">7732157</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="10">
- <Counter worker="0">6890600</Counter>
- <Counter worker="1">6891096</Counter>
- <Counter worker="2">6889623</Counter>
- <Counter worker="3">6889754</Counter>
- <Counter worker="4">6895076</Counter>
- <Counter worker="5">6895009</Counter>
- <Counter worker="6">6891303</Counter>
- <Counter worker="7">6891441</Counter>
- <Counter worker="8">7561832</Counter>
- <Counter worker="9">7561812</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="11">
- <Counter worker="0">6936032</Counter>
- <Counter worker="1">6936473</Counter>
- <Counter worker="2">6936855</Counter>
- <Counter worker="3">6936996</Counter>
- <Counter worker="4">6937867</Counter>
- <Counter worker="5">6937801</Counter>
- <Counter worker="6">6937155</Counter>
- <Counter worker="7">6937284</Counter>
- <Counter worker="8">7426273</Counter>
- <Counter worker="9">7426282</Counter>
- <Counter worker="10">7426249</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="12">
- <Counter worker="0">6886873</Counter>
- <Counter worker="1">6888027</Counter>
- <Counter worker="2">6888211</Counter>
- <Counter worker="3">6888343</Counter>
- <Counter worker="4">6892413</Counter>
- <Counter worker="5">6892299</Counter>
- <Counter worker="6">6888993</Counter>
- <Counter worker="7">6889126</Counter>
- <Counter worker="8">7246586</Counter>
- <Counter worker="9">7246631</Counter>
- <Counter worker="10">7246645</Counter>
- <Counter worker="11">7246622</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="13">
- <Counter worker="0">6959061</Counter>
- <Counter worker="1">6959491</Counter>
- <Counter worker="2">6959651</Counter>
- <Counter worker="3">6959746</Counter>
- <Counter worker="4">6960533</Counter>
- <Counter worker="5">6960423</Counter>
- <Counter worker="6">6960346</Counter>
- <Counter worker="7">6960483</Counter>
- <Counter worker="8">7275133</Counter>
- <Counter worker="9">7275113</Counter>
- <Counter worker="10">7275196</Counter>
- <Counter worker="11">7275136</Counter>
- <Counter worker="12">7279912</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="14">
- <Counter worker="0">6923135</Counter>
- <Counter worker="1">6923561</Counter>
- <Counter worker="2">6923846</Counter>
- <Counter worker="3">6923929</Counter>
- <Counter worker="4">6926308</Counter>
- <Counter worker="5">6926220</Counter>
- <Counter worker="6">6924046</Counter>
- <Counter worker="7">6924171</Counter>
- <Counter worker="8">7098844</Counter>
- <Counter worker="9">7098788</Counter>
- <Counter worker="10">7098814</Counter>
- <Counter worker="11">7098753</Counter>
- <Counter worker="12">7098782</Counter>
- <Counter worker="13">7098724</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="15">
- <Counter worker="0">6897278</Counter>
- <Counter worker="1">6897722</Counter>
- <Counter worker="2">6897985</Counter>
- <Counter worker="3">6898091</Counter>
- <Counter worker="4">6900152</Counter>
- <Counter worker="5">6900044</Counter>
- <Counter worker="6">6899295</Counter>
- <Counter worker="7">6899389</Counter>
- <Counter worker="8">7029806</Counter>
- <Counter worker="9">7029783</Counter>
- <Counter worker="10">7029530</Counter>
- <Counter worker="11">7029484</Counter>
- <Counter worker="12">7029691</Counter>
- <Counter worker="13">7029614</Counter>
- <Counter worker="14">7036890</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="16">
- <Counter worker="0">6937172</Counter>
- <Counter worker="1">6937594</Counter>
- <Counter worker="2">6937636</Counter>
- <Counter worker="3">6937737</Counter>
- <Counter worker="4">6938639</Counter>
- <Counter worker="5">6938539</Counter>
- <Counter worker="6">6938146</Counter>
- <Counter worker="7">6938285</Counter>
- <Counter worker="8">6845765</Counter>
- <Counter worker="9">6845811</Counter>
- <Counter worker="10">6844591</Counter>
- <Counter worker="11">6844579</Counter>
- <Counter worker="12">6847898</Counter>
- <Counter worker="13">6847925</Counter>
- <Counter worker="14">6854383</Counter>
- <Counter worker="15">6854413</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="17">
- <Counter worker="0">6899164</Counter>
- <Counter worker="1">6899621</Counter>
- <Counter worker="2">6899868</Counter>
- <Counter worker="3">6899979</Counter>
- <Counter worker="4">6903162</Counter>
- <Counter worker="5">6903081</Counter>
- <Counter worker="6">6901182</Counter>
- <Counter worker="7">6901304</Counter>
- <Counter worker="8">6786503</Counter>
- <Counter worker="9">6786566</Counter>
- <Counter worker="10">6785567</Counter>
- <Counter worker="11">6785489</Counter>
- <Counter worker="12">6786492</Counter>
- <Counter worker="13">6786497</Counter>
- <Counter worker="14">6788266</Counter>
- <Counter worker="15">6788323</Counter>
- <Counter worker="16">7729409</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="18">
- <Counter worker="0">6879345</Counter>
- <Counter worker="1">6879777</Counter>
- <Counter worker="2">6879643</Counter>
- <Counter worker="3">6879775</Counter>
- <Counter worker="4">6882068</Counter>
- <Counter worker="5">6881973</Counter>
- <Counter worker="6">6880439</Counter>
- <Counter worker="7">6880578</Counter>
- <Counter worker="8">6777968</Counter>
- <Counter worker="9">6778044</Counter>
- <Counter worker="10">6777204</Counter>
- <Counter worker="11">6777188</Counter>
- <Counter worker="12">6777851</Counter>
- <Counter worker="13">6777905</Counter>
- <Counter worker="14">6779627</Counter>
- <Counter worker="15">6779691</Counter>
- <Counter worker="16">7557727</Counter>
- <Counter worker="17">7557705</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="19">
- <Counter worker="0">6937193</Counter>
- <Counter worker="1">6937631</Counter>
- <Counter worker="2">6937312</Counter>
- <Counter worker="3">6937409</Counter>
- <Counter worker="4">6940007</Counter>
- <Counter worker="5">6939931</Counter>
- <Counter worker="6">6938301</Counter>
- <Counter worker="7">6938409</Counter>
- <Counter worker="8">6827232</Counter>
- <Counter worker="9">6827251</Counter>
- <Counter worker="10">6826171</Counter>
- <Counter worker="11">6826057</Counter>
- <Counter worker="12">6827889</Counter>
- <Counter worker="13">6827896</Counter>
- <Counter worker="14">6830967</Counter>
- <Counter worker="15">6830958</Counter>
- <Counter worker="16">7441511</Counter>
- <Counter worker="17">7441523</Counter>
- <Counter worker="18">7441610</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="20">
- <Counter worker="0">6900511</Counter>
- <Counter worker="1">6900940</Counter>
- <Counter worker="2">6901585</Counter>
- <Counter worker="3">6901715</Counter>
- <Counter worker="4">6902897</Counter>
- <Counter worker="5">6902770</Counter>
- <Counter worker="6">6902123</Counter>
- <Counter worker="7">6902302</Counter>
- <Counter worker="8">6781385</Counter>
- <Counter worker="9">6781384</Counter>
- <Counter worker="10">6779534</Counter>
- <Counter worker="11">6779472</Counter>
- <Counter worker="12">6781940</Counter>
- <Counter worker="13">6781974</Counter>
- <Counter worker="14">6784544</Counter>
- <Counter worker="15">6784535</Counter>
- <Counter worker="16">7224882</Counter>
- <Counter worker="17">7224913</Counter>
- <Counter worker="18">7224905</Counter>
- <Counter worker="19">7224953</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="21">
- <Counter worker="0">6943617</Counter>
- <Counter worker="1">6944082</Counter>
- <Counter worker="2">6943750</Counter>
- <Counter worker="3">6943857</Counter>
- <Counter worker="4">6945186</Counter>
- <Counter worker="5">6945096</Counter>
- <Counter worker="6">6944668</Counter>
- <Counter worker="7">6944790</Counter>
- <Counter worker="8">6781824</Counter>
- <Counter worker="9">6781819</Counter>
- <Counter worker="10">6780449</Counter>
- <Counter worker="11">6780372</Counter>
- <Counter worker="12">6782024</Counter>
- <Counter worker="13">6782050</Counter>
- <Counter worker="14">6784510</Counter>
- <Counter worker="15">6784514</Counter>
- <Counter worker="16">7257452</Counter>
- <Counter worker="17">7257495</Counter>
- <Counter worker="18">7257487</Counter>
- <Counter worker="19">7257508</Counter>
- <Counter worker="20">7257524</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="22">
- <Counter worker="0">6917953</Counter>
- <Counter worker="1">6918400</Counter>
- <Counter worker="2">6919356</Counter>
- <Counter worker="3">6919471</Counter>
- <Counter worker="4">6920305</Counter>
- <Counter worker="5">6920183</Counter>
- <Counter worker="6">6919649</Counter>
- <Counter worker="7">6919751</Counter>
- <Counter worker="8">6791371</Counter>
- <Counter worker="9">6791413</Counter>
- <Counter worker="10">6788420</Counter>
- <Counter worker="11">6788340</Counter>
- <Counter worker="12">6792848</Counter>
- <Counter worker="13">6792844</Counter>
- <Counter worker="14">6797629</Counter>
- <Counter worker="15">6797728</Counter>
- <Counter worker="16">7113691</Counter>
- <Counter worker="17">7113715</Counter>
- <Counter worker="18">7112292</Counter>
- <Counter worker="19">7112305</Counter>
- <Counter worker="20">7113609</Counter>
- <Counter worker="21">7113680</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="23">
- <Counter worker="0">6891252</Counter>
- <Counter worker="1">6891663</Counter>
- <Counter worker="2">6891546</Counter>
- <Counter worker="3">6891706</Counter>
- <Counter worker="4">6893277</Counter>
- <Counter worker="5">6893152</Counter>
- <Counter worker="6">6892566</Counter>
- <Counter worker="7">6892657</Counter>
- <Counter worker="8">6759690</Counter>
- <Counter worker="9">6759744</Counter>
- <Counter worker="10">6757928</Counter>
- <Counter worker="11">6757837</Counter>
- <Counter worker="12">6760968</Counter>
- <Counter worker="13">6760984</Counter>
- <Counter worker="14">6764597</Counter>
- <Counter worker="15">6764671</Counter>
- <Counter worker="16">7031553</Counter>
- <Counter worker="17">7031562</Counter>
- <Counter worker="18">7031468</Counter>
- <Counter worker="19">7031438</Counter>
- <Counter worker="20">7031584</Counter>
- <Counter worker="21">7031649</Counter>
- <Counter worker="22">7034463</Counter>
- </ManySysLockMutex>
- <ManySysLockMutex activeWorker="24">
- <Counter worker="0">6936624</Counter>
- <Counter worker="1">6937095</Counter>
- <Counter worker="2">6937990</Counter>
- <Counter worker="3">6938116</Counter>
- <Counter worker="4">6938974</Counter>
- <Counter worker="5">6938848</Counter>
- <Counter worker="6">6938729</Counter>
- <Counter worker="7">6938855</Counter>
- <Counter worker="8">6802487</Counter>
- <Counter worker="9">6802507</Counter>
- <Counter worker="10">6802119</Counter>
- <Counter worker="11">6802052</Counter>
- <Counter worker="12">6804132</Counter>
- <Counter worker="13">6804142</Counter>
- <Counter worker="14">6807402</Counter>
- <Counter worker="15">6807440</Counter>
- <Counter worker="16">6895101</Counter>
- <Counter worker="17">6895091</Counter>
- <Counter worker="18">6896248</Counter>
- <Counter worker="19">6896161</Counter>
- <Counter worker="20">6894890</Counter>
- <Counter worker="21">6894820</Counter>
- <Counter worker="22">6893800</Counter>
- <Counter worker="23">6893757</Counter>
- </ManySysLockMutex>
- <ManyClassicCeilingMutex activeWorker="1">
- <Counter worker="0">783933</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="2">
- <Counter worker="0">715842</Counter>
- <Counter worker="1">715877</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="3">
- <Counter worker="0">673594</Counter>
- <Counter worker="1">673548</Counter>
- <Counter worker="2">673597</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="4">
- <Counter worker="0">507004</Counter>
- <Counter worker="1">506998</Counter>
- <Counter worker="2">506958</Counter>
- <Counter worker="3">507007</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="5">
- <Counter worker="0">399544</Counter>
- <Counter worker="1">399546</Counter>
- <Counter worker="2">399537</Counter>
- <Counter worker="3">399496</Counter>
- <Counter worker="4">399551</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="6">
- <Counter worker="0">326511</Counter>
- <Counter worker="1">326516</Counter>
- <Counter worker="2">326514</Counter>
- <Counter worker="3">326477</Counter>
- <Counter worker="4">326516</Counter>
- <Counter worker="5">326515</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="7">
- <Counter worker="0">262720</Counter>
- <Counter worker="1">262759</Counter>
- <Counter worker="2">262752</Counter>
- <Counter worker="3">262761</Counter>
- <Counter worker="4">262765</Counter>
- <Counter worker="5">262760</Counter>
- <Counter worker="6">262754</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="8">
- <Counter worker="0">234094</Counter>
- <Counter worker="1">234134</Counter>
- <Counter worker="2">234129</Counter>
- <Counter worker="3">234127</Counter>
- <Counter worker="4">234131</Counter>
- <Counter worker="5">234121</Counter>
- <Counter worker="6">234124</Counter>
- <Counter worker="7">234127</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="9">
- <Counter worker="0">108770</Counter>
- <Counter worker="1">108767</Counter>
- <Counter worker="2">108774</Counter>
- <Counter worker="3">108774</Counter>
- <Counter worker="4">108762</Counter>
- <Counter worker="5">108772</Counter>
- <Counter worker="6">108769</Counter>
- <Counter worker="7">108772</Counter>
- <Counter worker="8">108769</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="10">
- <Counter worker="0">88888</Counter>
- <Counter worker="1">88883</Counter>
- <Counter worker="2">88889</Counter>
- <Counter worker="3">88885</Counter>
- <Counter worker="4">88885</Counter>
- <Counter worker="5">88885</Counter>
- <Counter worker="6">88883</Counter>
- <Counter worker="7">88882</Counter>
- <Counter worker="8">88877</Counter>
- <Counter worker="9">88883</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="11">
- <Counter worker="0">77874</Counter>
- <Counter worker="1">77873</Counter>
- <Counter worker="2">77879</Counter>
- <Counter worker="3">77872</Counter>
- <Counter worker="4">77873</Counter>
- <Counter worker="5">77877</Counter>
- <Counter worker="6">77880</Counter>
- <Counter worker="7">77876</Counter>
- <Counter worker="8">77874</Counter>
- <Counter worker="9">77870</Counter>
- <Counter worker="10">77872</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="12">
- <Counter worker="0">70256</Counter>
- <Counter worker="1">70259</Counter>
- <Counter worker="2">70264</Counter>
- <Counter worker="3">70258</Counter>
- <Counter worker="4">70262</Counter>
- <Counter worker="5">70266</Counter>
- <Counter worker="6">70260</Counter>
- <Counter worker="7">70256</Counter>
- <Counter worker="8">70257</Counter>
- <Counter worker="9">70258</Counter>
- <Counter worker="10">70259</Counter>
- <Counter worker="11">70258</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="13">
- <Counter worker="0">62735</Counter>
- <Counter worker="1">62740</Counter>
- <Counter worker="2">62741</Counter>
- <Counter worker="3">62737</Counter>
- <Counter worker="4">62733</Counter>
- <Counter worker="5">62735</Counter>
- <Counter worker="6">62736</Counter>
- <Counter worker="7">62734</Counter>
- <Counter worker="8">62732</Counter>
- <Counter worker="9">62731</Counter>
- <Counter worker="10">62731</Counter>
- <Counter worker="11">62730</Counter>
- <Counter worker="12">62730</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="14">
- <Counter worker="0">59093</Counter>
- <Counter worker="1">59091</Counter>
- <Counter worker="2">59093</Counter>
- <Counter worker="3">59094</Counter>
- <Counter worker="4">59088</Counter>
- <Counter worker="5">59092</Counter>
- <Counter worker="6">59099</Counter>
- <Counter worker="7">59097</Counter>
- <Counter worker="8">59091</Counter>
- <Counter worker="9">59089</Counter>
- <Counter worker="10">59088</Counter>
- <Counter worker="11">59102</Counter>
- <Counter worker="12">59088</Counter>
- <Counter worker="13">59087</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="15">
- <Counter worker="0">51130</Counter>
- <Counter worker="1">51127</Counter>
- <Counter worker="2">51121</Counter>
- <Counter worker="3">51131</Counter>
- <Counter worker="4">51123</Counter>
- <Counter worker="5">51125</Counter>
- <Counter worker="6">51129</Counter>
- <Counter worker="7">51121</Counter>
- <Counter worker="8">51125</Counter>
- <Counter worker="9">51120</Counter>
- <Counter worker="10">51126</Counter>
- <Counter worker="11">51122</Counter>
- <Counter worker="12">51124</Counter>
- <Counter worker="13">51122</Counter>
- <Counter worker="14">51124</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="16">
- <Counter worker="0">48586</Counter>
- <Counter worker="1">48591</Counter>
- <Counter worker="2">48592</Counter>
- <Counter worker="3">48586</Counter>
- <Counter worker="4">48586</Counter>
- <Counter worker="5">48590</Counter>
- <Counter worker="6">48588</Counter>
- <Counter worker="7">48587</Counter>
- <Counter worker="8">48594</Counter>
- <Counter worker="9">48596</Counter>
- <Counter worker="10">48588</Counter>
- <Counter worker="11">48589</Counter>
- <Counter worker="12">48596</Counter>
- <Counter worker="13">48593</Counter>
- <Counter worker="14">48591</Counter>
- <Counter worker="15">48589</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="17">
- <Counter worker="0">43007</Counter>
- <Counter worker="1">42998</Counter>
- <Counter worker="2">43002</Counter>
- <Counter worker="3">43006</Counter>
- <Counter worker="4">43008</Counter>
- <Counter worker="5">43010</Counter>
- <Counter worker="6">43000</Counter>
- <Counter worker="7">43002</Counter>
- <Counter worker="8">42999</Counter>
- <Counter worker="9">43000</Counter>
- <Counter worker="10">43003</Counter>
- <Counter worker="11">42999</Counter>
- <Counter worker="12">42998</Counter>
- <Counter worker="13">43001</Counter>
- <Counter worker="14">43004</Counter>
- <Counter worker="15">43005</Counter>
- <Counter worker="16">43005</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="18">
- <Counter worker="0">38958</Counter>
- <Counter worker="1">38953</Counter>
- <Counter worker="2">38958</Counter>
- <Counter worker="3">38951</Counter>
- <Counter worker="4">38950</Counter>
- <Counter worker="5">38972</Counter>
- <Counter worker="6">38950</Counter>
- <Counter worker="7">38953</Counter>
- <Counter worker="8">38957</Counter>
- <Counter worker="9">38956</Counter>
- <Counter worker="10">38955</Counter>
- <Counter worker="11">38967</Counter>
- <Counter worker="12">38952</Counter>
- <Counter worker="13">38952</Counter>
- <Counter worker="14">38963</Counter>
- <Counter worker="15">38951</Counter>
- <Counter worker="16">38960</Counter>
- <Counter worker="17">38954</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="19">
- <Counter worker="0">37040</Counter>
- <Counter worker="1">37042</Counter>
- <Counter worker="2">37050</Counter>
- <Counter worker="3">37051</Counter>
- <Counter worker="4">37049</Counter>
- <Counter worker="5">37047</Counter>
- <Counter worker="6">37044</Counter>
- <Counter worker="7">37042</Counter>
- <Counter worker="8">37048</Counter>
- <Counter worker="9">37039</Counter>
- <Counter worker="10">37045</Counter>
- <Counter worker="11">37041</Counter>
- <Counter worker="12">37041</Counter>
- <Counter worker="13">37038</Counter>
- <Counter worker="14">37038</Counter>
- <Counter worker="15">37040</Counter>
- <Counter worker="16">37043</Counter>
- <Counter worker="17">37044</Counter>
- <Counter worker="18">37045</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="20">
- <Counter worker="0">33977</Counter>
- <Counter worker="1">33977</Counter>
- <Counter worker="2">33969</Counter>
- <Counter worker="3">33975</Counter>
- <Counter worker="4">33965</Counter>
- <Counter worker="5">33968</Counter>
- <Counter worker="6">33967</Counter>
- <Counter worker="7">33974</Counter>
- <Counter worker="8">33968</Counter>
- <Counter worker="9">33972</Counter>
- <Counter worker="10">33964</Counter>
- <Counter worker="11">33973</Counter>
- <Counter worker="12">33970</Counter>
- <Counter worker="13">33967</Counter>
- <Counter worker="14">33965</Counter>
- <Counter worker="15">33966</Counter>
- <Counter worker="16">33966</Counter>
- <Counter worker="17">33972</Counter>
- <Counter worker="18">33971</Counter>
- <Counter worker="19">33970</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="21">
- <Counter worker="0">34845</Counter>
- <Counter worker="1">34846</Counter>
- <Counter worker="2">34849</Counter>
- <Counter worker="3">34851</Counter>
- <Counter worker="4">34850</Counter>
- <Counter worker="5">34842</Counter>
- <Counter worker="6">34845</Counter>
- <Counter worker="7">34856</Counter>
- <Counter worker="8">34842</Counter>
- <Counter worker="9">34842</Counter>
- <Counter worker="10">34844</Counter>
- <Counter worker="11">34848</Counter>
- <Counter worker="12">34856</Counter>
- <Counter worker="13">34857</Counter>
- <Counter worker="14">34843</Counter>
- <Counter worker="15">34856</Counter>
- <Counter worker="16">34849</Counter>
- <Counter worker="17">34847</Counter>
- <Counter worker="18">34847</Counter>
- <Counter worker="19">34843</Counter>
- <Counter worker="20">34844</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="22">
- <Counter worker="0">29938</Counter>
- <Counter worker="1">29946</Counter>
- <Counter worker="2">29949</Counter>
- <Counter worker="3">29944</Counter>
- <Counter worker="4">29940</Counter>
- <Counter worker="5">29945</Counter>
- <Counter worker="6">29938</Counter>
- <Counter worker="7">29943</Counter>
- <Counter worker="8">29942</Counter>
- <Counter worker="9">29945</Counter>
- <Counter worker="10">29940</Counter>
- <Counter worker="11">29946</Counter>
- <Counter worker="12">29939</Counter>
- <Counter worker="13">29938</Counter>
- <Counter worker="14">29948</Counter>
- <Counter worker="15">29939</Counter>
- <Counter worker="16">29941</Counter>
- <Counter worker="17">29948</Counter>
- <Counter worker="18">29943</Counter>
- <Counter worker="19">29941</Counter>
- <Counter worker="20">29951</Counter>
- <Counter worker="21">29952</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="23">
- <Counter worker="0">29210</Counter>
- <Counter worker="1">29214</Counter>
- <Counter worker="2">29224</Counter>
- <Counter worker="3">29225</Counter>
- <Counter worker="4">29212</Counter>
- <Counter worker="5">29218</Counter>
- <Counter worker="6">29218</Counter>
- <Counter worker="7">29210</Counter>
- <Counter worker="8">29219</Counter>
- <Counter worker="9">29220</Counter>
- <Counter worker="10">29222</Counter>
- <Counter worker="11">29217</Counter>
- <Counter worker="12">29215</Counter>
- <Counter worker="13">29212</Counter>
- <Counter worker="14">29210</Counter>
- <Counter worker="15">29214</Counter>
- <Counter worker="16">29213</Counter>
- <Counter worker="17">29216</Counter>
- <Counter worker="18">29217</Counter>
- <Counter worker="19">29221</Counter>
- <Counter worker="20">29211</Counter>
- <Counter worker="21">29213</Counter>
- <Counter worker="22">29216</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicCeilingMutex activeWorker="24">
- <Counter worker="0">25904</Counter>
- <Counter worker="1">25912</Counter>
- <Counter worker="2">25906</Counter>
- <Counter worker="3">25914</Counter>
- <Counter worker="4">25909</Counter>
- <Counter worker="5">25909</Counter>
- <Counter worker="6">25911</Counter>
- <Counter worker="7">25907</Counter>
- <Counter worker="8">25906</Counter>
- <Counter worker="9">25903</Counter>
- <Counter worker="10">25905</Counter>
- <Counter worker="11">25905</Counter>
- <Counter worker="12">25913</Counter>
- <Counter worker="13">25910</Counter>
- <Counter worker="14">25913</Counter>
- <Counter worker="15">25915</Counter>
- <Counter worker="16">25911</Counter>
- <Counter worker="17">25903</Counter>
- <Counter worker="18">25908</Counter>
- <Counter worker="19">25916</Counter>
- <Counter worker="20">25918</Counter>
- <Counter worker="21">25919</Counter>
- <Counter worker="22">25904</Counter>
- <Counter worker="23">25907</Counter>
- </ManyClassicCeilingMutex>
- <ManyClassicMrsPMutex activeWorker="1">
- <Counter worker="0">784201</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="2">
- <Counter worker="0">712340</Counter>
- <Counter worker="1">712386</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="3">
- <Counter worker="0">674000</Counter>
- <Counter worker="1">674051</Counter>
- <Counter worker="2">674040</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="4">
- <Counter worker="0">508157</Counter>
- <Counter worker="1">508153</Counter>
- <Counter worker="2">508159</Counter>
- <Counter worker="3">508110</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="5">
- <Counter worker="0">404003</Counter>
- <Counter worker="1">403999</Counter>
- <Counter worker="2">404000</Counter>
- <Counter worker="3">403956</Counter>
- <Counter worker="4">404001</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="6">
- <Counter worker="0">327904</Counter>
- <Counter worker="1">327939</Counter>
- <Counter worker="2">327942</Counter>
- <Counter worker="3">327939</Counter>
- <Counter worker="4">327939</Counter>
- <Counter worker="5">327943</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="7">
- <Counter worker="0">272616</Counter>
- <Counter worker="1">272614</Counter>
- <Counter worker="2">272610</Counter>
- <Counter worker="3">272613</Counter>
- <Counter worker="4">272618</Counter>
- <Counter worker="5">272620</Counter>
- <Counter worker="6">272575</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="8">
- <Counter worker="0">234547</Counter>
- <Counter worker="1">234543</Counter>
- <Counter worker="2">234550</Counter>
- <Counter worker="3">234547</Counter>
- <Counter worker="4">234513</Counter>
- <Counter worker="5">234546</Counter>
- <Counter worker="6">234543</Counter>
- <Counter worker="7">234543</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="9">
- <Counter worker="0">107383</Counter>
- <Counter worker="1">107392</Counter>
- <Counter worker="2">107386</Counter>
- <Counter worker="3">107386</Counter>
- <Counter worker="4">107389</Counter>
- <Counter worker="5">107392</Counter>
- <Counter worker="6">107385</Counter>
- <Counter worker="7">107394</Counter>
- <Counter worker="8">107377</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="10">
- <Counter worker="0">89997</Counter>
- <Counter worker="1">89997</Counter>
- <Counter worker="2">89997</Counter>
- <Counter worker="3">90000</Counter>
- <Counter worker="4">90001</Counter>
- <Counter worker="5">89993</Counter>
- <Counter worker="6">89995</Counter>
- <Counter worker="7">89995</Counter>
- <Counter worker="8">90001</Counter>
- <Counter worker="9">90001</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="11">
- <Counter worker="0">76542</Counter>
- <Counter worker="1">76545</Counter>
- <Counter worker="2">76542</Counter>
- <Counter worker="3">76541</Counter>
- <Counter worker="4">76540</Counter>
- <Counter worker="5">76549</Counter>
- <Counter worker="6">76548</Counter>
- <Counter worker="7">76545</Counter>
- <Counter worker="8">76540</Counter>
- <Counter worker="9">76540</Counter>
- <Counter worker="10">76545</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="12">
- <Counter worker="0">65159</Counter>
- <Counter worker="1">65161</Counter>
- <Counter worker="2">65155</Counter>
- <Counter worker="3">65158</Counter>
- <Counter worker="4">65156</Counter>
- <Counter worker="5">65154</Counter>
- <Counter worker="6">65157</Counter>
- <Counter worker="7">65156</Counter>
- <Counter worker="8">65150</Counter>
- <Counter worker="9">65153</Counter>
- <Counter worker="10">65154</Counter>
- <Counter worker="11">65152</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="13">
- <Counter worker="0">61089</Counter>
- <Counter worker="1">61093</Counter>
- <Counter worker="2">61092</Counter>
- <Counter worker="3">61093</Counter>
- <Counter worker="4">61094</Counter>
- <Counter worker="5">61089</Counter>
- <Counter worker="6">61090</Counter>
- <Counter worker="7">61092</Counter>
- <Counter worker="8">61098</Counter>
- <Counter worker="9">61098</Counter>
- <Counter worker="10">61091</Counter>
- <Counter worker="11">61090</Counter>
- <Counter worker="12">61095</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="14">
- <Counter worker="0">58163</Counter>
- <Counter worker="1">58164</Counter>
- <Counter worker="2">58160</Counter>
- <Counter worker="3">58158</Counter>
- <Counter worker="4">58156</Counter>
- <Counter worker="5">58159</Counter>
- <Counter worker="6">58157</Counter>
- <Counter worker="7">58156</Counter>
- <Counter worker="8">58153</Counter>
- <Counter worker="9">58155</Counter>
- <Counter worker="10">58154</Counter>
- <Counter worker="11">58150</Counter>
- <Counter worker="12">58153</Counter>
- <Counter worker="13">58152</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="15">
- <Counter worker="0">49108</Counter>
- <Counter worker="1">49110</Counter>
- <Counter worker="2">49107</Counter>
- <Counter worker="3">49106</Counter>
- <Counter worker="4">49114</Counter>
- <Counter worker="5">49112</Counter>
- <Counter worker="6">49113</Counter>
- <Counter worker="7">49107</Counter>
- <Counter worker="8">49109</Counter>
- <Counter worker="9">49110</Counter>
- <Counter worker="10">49112</Counter>
- <Counter worker="11">49117</Counter>
- <Counter worker="12">49115</Counter>
- <Counter worker="13">49111</Counter>
- <Counter worker="14">49106</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="16">
- <Counter worker="0">45403</Counter>
- <Counter worker="1">45406</Counter>
- <Counter worker="2">45405</Counter>
- <Counter worker="3">45404</Counter>
- <Counter worker="4">45407</Counter>
- <Counter worker="5">45402</Counter>
- <Counter worker="6">45401</Counter>
- <Counter worker="7">45403</Counter>
- <Counter worker="8">45407</Counter>
- <Counter worker="9">45410</Counter>
- <Counter worker="10">45411</Counter>
- <Counter worker="11">45404</Counter>
- <Counter worker="12">45413</Counter>
- <Counter worker="13">45410</Counter>
- <Counter worker="14">45401</Counter>
- <Counter worker="15">45401</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="17">
- <Counter worker="0">40546</Counter>
- <Counter worker="1">40547</Counter>
- <Counter worker="2">40552</Counter>
- <Counter worker="3">40546</Counter>
- <Counter worker="4">40554</Counter>
- <Counter worker="5">40553</Counter>
- <Counter worker="6">40550</Counter>
- <Counter worker="7">40552</Counter>
- <Counter worker="8">40559</Counter>
- <Counter worker="9">40559</Counter>
- <Counter worker="10">40555</Counter>
- <Counter worker="11">40556</Counter>
- <Counter worker="12">40550</Counter>
- <Counter worker="13">40548</Counter>
- <Counter worker="14">40548</Counter>
- <Counter worker="15">40549</Counter>
- <Counter worker="16">40551</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="18">
- <Counter worker="0">39609</Counter>
- <Counter worker="1">39614</Counter>
- <Counter worker="2">39610</Counter>
- <Counter worker="3">39616</Counter>
- <Counter worker="4">39618</Counter>
- <Counter worker="5">39615</Counter>
- <Counter worker="6">39613</Counter>
- <Counter worker="7">39613</Counter>
- <Counter worker="8">39615</Counter>
- <Counter worker="9">39617</Counter>
- <Counter worker="10">39610</Counter>
- <Counter worker="11">39618</Counter>
- <Counter worker="12">39615</Counter>
- <Counter worker="13">39611</Counter>
- <Counter worker="14">39612</Counter>
- <Counter worker="15">39611</Counter>
- <Counter worker="16">39621</Counter>
- <Counter worker="17">39620</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="19">
- <Counter worker="0">35744</Counter>
- <Counter worker="1">35742</Counter>
- <Counter worker="2">35744</Counter>
- <Counter worker="3">35747</Counter>
- <Counter worker="4">35752</Counter>
- <Counter worker="5">35755</Counter>
- <Counter worker="6">35745</Counter>
- <Counter worker="7">35753</Counter>
- <Counter worker="8">35745</Counter>
- <Counter worker="9">35747</Counter>
- <Counter worker="10">35742</Counter>
- <Counter worker="11">35751</Counter>
- <Counter worker="12">35749</Counter>
- <Counter worker="13">35746</Counter>
- <Counter worker="14">35743</Counter>
- <Counter worker="15">35746</Counter>
- <Counter worker="16">35749</Counter>
- <Counter worker="17">35743</Counter>
- <Counter worker="18">35748</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="20">
- <Counter worker="0">33654</Counter>
- <Counter worker="1">33664</Counter>
- <Counter worker="2">33659</Counter>
- <Counter worker="3">33661</Counter>
- <Counter worker="4">33654</Counter>
- <Counter worker="5">33658</Counter>
- <Counter worker="6">33663</Counter>
- <Counter worker="7">33654</Counter>
- <Counter worker="8">33668</Counter>
- <Counter worker="9">33660</Counter>
- <Counter worker="10">33660</Counter>
- <Counter worker="11">33655</Counter>
- <Counter worker="12">33667</Counter>
- <Counter worker="13">33657</Counter>
- <Counter worker="14">33655</Counter>
- <Counter worker="15">33664</Counter>
- <Counter worker="16">33657</Counter>
- <Counter worker="17">33656</Counter>
- <Counter worker="18">33662</Counter>
- <Counter worker="19">33659</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="21">
- <Counter worker="0">32410</Counter>
- <Counter worker="1">32414</Counter>
- <Counter worker="2">32407</Counter>
- <Counter worker="3">32409</Counter>
- <Counter worker="4">32420</Counter>
- <Counter worker="5">32413</Counter>
- <Counter worker="6">32422</Counter>
- <Counter worker="7">32421</Counter>
- <Counter worker="8">32408</Counter>
- <Counter worker="9">32414</Counter>
- <Counter worker="10">32407</Counter>
- <Counter worker="11">32411</Counter>
- <Counter worker="12">32413</Counter>
- <Counter worker="13">32416</Counter>
- <Counter worker="14">32408</Counter>
- <Counter worker="15">32418</Counter>
- <Counter worker="16">32412</Counter>
- <Counter worker="17">32416</Counter>
- <Counter worker="18">32411</Counter>
- <Counter worker="19">32410</Counter>
- <Counter worker="20">32417</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="22">
- <Counter worker="0">29188</Counter>
- <Counter worker="1">29192</Counter>
- <Counter worker="2">29201</Counter>
- <Counter worker="3">29198</Counter>
- <Counter worker="4">29187</Counter>
- <Counter worker="5">29195</Counter>
- <Counter worker="6">29192</Counter>
- <Counter worker="7">29195</Counter>
- <Counter worker="8">29200</Counter>
- <Counter worker="9">29193</Counter>
- <Counter worker="10">29197</Counter>
- <Counter worker="11">29189</Counter>
- <Counter worker="12">29189</Counter>
- <Counter worker="13">29190</Counter>
- <Counter worker="14">29188</Counter>
- <Counter worker="15">29196</Counter>
- <Counter worker="16">29194</Counter>
- <Counter worker="17">29191</Counter>
- <Counter worker="18">29199</Counter>
- <Counter worker="19">29194</Counter>
- <Counter worker="20">29191</Counter>
- <Counter worker="21">29190</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="23">
- <Counter worker="0">27206</Counter>
- <Counter worker="1">27216</Counter>
- <Counter worker="2">27222</Counter>
- <Counter worker="3">27211</Counter>
- <Counter worker="4">27211</Counter>
- <Counter worker="5">27210</Counter>
- <Counter worker="6">27212</Counter>
- <Counter worker="7">27208</Counter>
- <Counter worker="8">27214</Counter>
- <Counter worker="9">27207</Counter>
- <Counter worker="10">27208</Counter>
- <Counter worker="11">27214</Counter>
- <Counter worker="12">27210</Counter>
- <Counter worker="13">27209</Counter>
- <Counter worker="14">27218</Counter>
- <Counter worker="15">27217</Counter>
- <Counter worker="16">27219</Counter>
- <Counter worker="17">27206</Counter>
- <Counter worker="18">27215</Counter>
- <Counter worker="19">27213</Counter>
- <Counter worker="20">27207</Counter>
- <Counter worker="21">27212</Counter>
- <Counter worker="22">27232</Counter>
- </ManyClassicMrsPMutex>
- <ManyClassicMrsPMutex activeWorker="24">
- <Counter worker="0">24666</Counter>
- <Counter worker="1">24670</Counter>
- <Counter worker="2">24664</Counter>
- <Counter worker="3">24672</Counter>
- <Counter worker="4">24671</Counter>
- <Counter worker="5">24668</Counter>
- <Counter worker="6">24668</Counter>
- <Counter worker="7">24667</Counter>
- <Counter worker="8">24671</Counter>
- <Counter worker="9">24664</Counter>
- <Counter worker="10">24667</Counter>
- <Counter worker="11">24666</Counter>
- <Counter worker="12">24675</Counter>
- <Counter worker="13">24670</Counter>
- <Counter worker="14">24664</Counter>
- <Counter worker="15">24673</Counter>
- <Counter worker="16">24673</Counter>
- <Counter worker="17">24669</Counter>
- <Counter worker="18">24665</Counter>
- <Counter worker="19">24675</Counter>
- <Counter worker="20">24681</Counter>
- <Counter worker="21">24674</Counter>
- <Counter worker="22">24677</Counter>
- <Counter worker="23">24681</Counter>
- </ManyClassicMrsPMutex>
- <ManyPthreadSpinlock activeWorker="1">
- <Counter worker="0">14718834</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="2">
- <Counter worker="0">14545804</Counter>
- <Counter worker="1">14546744</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="3">
- <Counter worker="0">14202896</Counter>
- <Counter worker="1">14203740</Counter>
- <Counter worker="2">14204031</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="4">
- <Counter worker="0">13936060</Counter>
- <Counter worker="1">13936903</Counter>
- <Counter worker="2">13937157</Counter>
- <Counter worker="3">13937175</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="5">
- <Counter worker="0">13882002</Counter>
- <Counter worker="1">13882875</Counter>
- <Counter worker="2">13883036</Counter>
- <Counter worker="3">13883032</Counter>
- <Counter worker="4">13883129</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="6">
- <Counter worker="0">13678756</Counter>
- <Counter worker="1">13679620</Counter>
- <Counter worker="2">13679743</Counter>
- <Counter worker="3">13679940</Counter>
- <Counter worker="4">13679849</Counter>
- <Counter worker="5">13679778</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="7">
- <Counter worker="0">13536294</Counter>
- <Counter worker="1">13537073</Counter>
- <Counter worker="2">13537313</Counter>
- <Counter worker="3">13537271</Counter>
- <Counter worker="4">13537347</Counter>
- <Counter worker="5">13537331</Counter>
- <Counter worker="6">13537366</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="8">
- <Counter worker="0">13416795</Counter>
- <Counter worker="1">13417680</Counter>
- <Counter worker="2">13417750</Counter>
- <Counter worker="3">13417879</Counter>
- <Counter worker="4">13417890</Counter>
- <Counter worker="5">13417884</Counter>
- <Counter worker="6">13417887</Counter>
- <Counter worker="7">13417860</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="9">
- <Counter worker="0">13344563</Counter>
- <Counter worker="1">13345425</Counter>
- <Counter worker="2">13345471</Counter>
- <Counter worker="3">13345553</Counter>
- <Counter worker="4">13345686</Counter>
- <Counter worker="5">13345685</Counter>
- <Counter worker="6">13345620</Counter>
- <Counter worker="7">13345553</Counter>
- <Counter worker="8">14664124</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="10">
- <Counter worker="0">13345484</Counter>
- <Counter worker="1">13346290</Counter>
- <Counter worker="2">13346571</Counter>
- <Counter worker="3">13346539</Counter>
- <Counter worker="4">13346562</Counter>
- <Counter worker="5">13346553</Counter>
- <Counter worker="6">13346462</Counter>
- <Counter worker="7">13346482</Counter>
- <Counter worker="8">14489005</Counter>
- <Counter worker="9">14489074</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="11">
- <Counter worker="0">13387106</Counter>
- <Counter worker="1">13387968</Counter>
- <Counter worker="2">13388136</Counter>
- <Counter worker="3">13388157</Counter>
- <Counter worker="4">13388188</Counter>
- <Counter worker="5">13388196</Counter>
- <Counter worker="6">13388173</Counter>
- <Counter worker="7">13388181</Counter>
- <Counter worker="8">14106966</Counter>
- <Counter worker="9">14106972</Counter>
- <Counter worker="10">14106794</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="12">
- <Counter worker="0">13339713</Counter>
- <Counter worker="1">13340579</Counter>
- <Counter worker="2">13340745</Counter>
- <Counter worker="3">13340783</Counter>
- <Counter worker="4">13340828</Counter>
- <Counter worker="5">13340858</Counter>
- <Counter worker="6">13340715</Counter>
- <Counter worker="7">13340770</Counter>
- <Counter worker="8">13878859</Counter>
- <Counter worker="9">13878923</Counter>
- <Counter worker="10">13878707</Counter>
- <Counter worker="11">13878654</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="13">
- <Counter worker="0">13423332</Counter>
- <Counter worker="1">13424154</Counter>
- <Counter worker="2">13424352</Counter>
- <Counter worker="3">13424415</Counter>
- <Counter worker="4">13424314</Counter>
- <Counter worker="5">13424308</Counter>
- <Counter worker="6">13424314</Counter>
- <Counter worker="7">13424303</Counter>
- <Counter worker="8">13894368</Counter>
- <Counter worker="9">13894493</Counter>
- <Counter worker="10">13894289</Counter>
- <Counter worker="11">13894305</Counter>
- <Counter worker="12">13894313</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="14">
- <Counter worker="0">13374209</Counter>
- <Counter worker="1">13375090</Counter>
- <Counter worker="2">13375258</Counter>
- <Counter worker="3">13375185</Counter>
- <Counter worker="4">13375228</Counter>
- <Counter worker="5">13375289</Counter>
- <Counter worker="6">13375221</Counter>
- <Counter worker="7">13375272</Counter>
- <Counter worker="8">13638146</Counter>
- <Counter worker="9">13638099</Counter>
- <Counter worker="10">13638011</Counter>
- <Counter worker="11">13637921</Counter>
- <Counter worker="12">13638082</Counter>
- <Counter worker="13">13638078</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="15">
- <Counter worker="0">13324122</Counter>
- <Counter worker="1">13324923</Counter>
- <Counter worker="2">13322227</Counter>
- <Counter worker="3">13322310</Counter>
- <Counter worker="4">13325255</Counter>
- <Counter worker="5">13325158</Counter>
- <Counter worker="6">13325121</Counter>
- <Counter worker="7">13325137</Counter>
- <Counter worker="8">13526376</Counter>
- <Counter worker="9">13526358</Counter>
- <Counter worker="10">13526223</Counter>
- <Counter worker="11">13526248</Counter>
- <Counter worker="12">13526360</Counter>
- <Counter worker="13">13526365</Counter>
- <Counter worker="14">13526370</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="16">
- <Counter worker="0">13409904</Counter>
- <Counter worker="1">13410740</Counter>
- <Counter worker="2">13410903</Counter>
- <Counter worker="3">13410988</Counter>
- <Counter worker="4">13411030</Counter>
- <Counter worker="5">13410987</Counter>
- <Counter worker="6">13410838</Counter>
- <Counter worker="7">13410949</Counter>
- <Counter worker="8">13425120</Counter>
- <Counter worker="9">13425212</Counter>
- <Counter worker="10">13425033</Counter>
- <Counter worker="11">13425047</Counter>
- <Counter worker="12">13425054</Counter>
- <Counter worker="13">13425101</Counter>
- <Counter worker="14">13425139</Counter>
- <Counter worker="15">13425072</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="17">
- <Counter worker="0">13358197</Counter>
- <Counter worker="1">13359084</Counter>
- <Counter worker="2">13359207</Counter>
- <Counter worker="3">13359276</Counter>
- <Counter worker="4">13359271</Counter>
- <Counter worker="5">13359332</Counter>
- <Counter worker="6">13359272</Counter>
- <Counter worker="7">13359197</Counter>
- <Counter worker="8">13377371</Counter>
- <Counter worker="9">13377387</Counter>
- <Counter worker="10">13377385</Counter>
- <Counter worker="11">13377388</Counter>
- <Counter worker="12">13377413</Counter>
- <Counter worker="13">13377416</Counter>
- <Counter worker="14">13377379</Counter>
- <Counter worker="15">13377457</Counter>
- <Counter worker="16">14648127</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="18">
- <Counter worker="0">13450072</Counter>
- <Counter worker="1">13450903</Counter>
- <Counter worker="2">13451130</Counter>
- <Counter worker="3">13451147</Counter>
- <Counter worker="4">13451124</Counter>
- <Counter worker="5">13451254</Counter>
- <Counter worker="6">13451111</Counter>
- <Counter worker="7">13451124</Counter>
- <Counter worker="8">13476959</Counter>
- <Counter worker="9">13476898</Counter>
- <Counter worker="10">13476818</Counter>
- <Counter worker="11">13476757</Counter>
- <Counter worker="12">13476779</Counter>
- <Counter worker="13">13476826</Counter>
- <Counter worker="14">13476887</Counter>
- <Counter worker="15">13476812</Counter>
- <Counter worker="16">14753607</Counter>
- <Counter worker="17">14753628</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="19">
- <Counter worker="0">13391588</Counter>
- <Counter worker="1">13392430</Counter>
- <Counter worker="2">13392562</Counter>
- <Counter worker="3">13392593</Counter>
- <Counter worker="4">13392668</Counter>
- <Counter worker="5">13392691</Counter>
- <Counter worker="6">13392561</Counter>
- <Counter worker="7">13392599</Counter>
- <Counter worker="8">13399126</Counter>
- <Counter worker="9">13399129</Counter>
- <Counter worker="10">13399029</Counter>
- <Counter worker="11">13398973</Counter>
- <Counter worker="12">13399022</Counter>
- <Counter worker="13">13399026</Counter>
- <Counter worker="14">13398920</Counter>
- <Counter worker="15">13398974</Counter>
- <Counter worker="16">14175315</Counter>
- <Counter worker="17">14175222</Counter>
- <Counter worker="18">14175311</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="20">
- <Counter worker="0">13355745</Counter>
- <Counter worker="1">13356643</Counter>
- <Counter worker="2">13356778</Counter>
- <Counter worker="3">13356845</Counter>
- <Counter worker="4">13356826</Counter>
- <Counter worker="5">13356881</Counter>
- <Counter worker="6">13356673</Counter>
- <Counter worker="7">13356756</Counter>
- <Counter worker="8">13361313</Counter>
- <Counter worker="9">13361244</Counter>
- <Counter worker="10">13357068</Counter>
- <Counter worker="11">13356983</Counter>
- <Counter worker="12">13356966</Counter>
- <Counter worker="13">13356990</Counter>
- <Counter worker="14">13361213</Counter>
- <Counter worker="15">13361185</Counter>
- <Counter worker="16">13989600</Counter>
- <Counter worker="17">13989623</Counter>
- <Counter worker="18">13989693</Counter>
- <Counter worker="19">13989659</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="21">
- <Counter worker="0">13407936</Counter>
- <Counter worker="1">13408763</Counter>
- <Counter worker="2">13408903</Counter>
- <Counter worker="3">13408988</Counter>
- <Counter worker="4">13409085</Counter>
- <Counter worker="5">13409045</Counter>
- <Counter worker="6">13408998</Counter>
- <Counter worker="7">13408901</Counter>
- <Counter worker="8">13434650</Counter>
- <Counter worker="9">13434644</Counter>
- <Counter worker="10">13434596</Counter>
- <Counter worker="11">13434581</Counter>
- <Counter worker="12">13434577</Counter>
- <Counter worker="13">13434621</Counter>
- <Counter worker="14">13434678</Counter>
- <Counter worker="15">13434611</Counter>
- <Counter worker="16">13925505</Counter>
- <Counter worker="17">13925519</Counter>
- <Counter worker="18">13925574</Counter>
- <Counter worker="19">13925534</Counter>
- <Counter worker="20">13925556</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="22">
- <Counter worker="0">13357133</Counter>
- <Counter worker="1">13357991</Counter>
- <Counter worker="2">13358199</Counter>
- <Counter worker="3">13358166</Counter>
- <Counter worker="4">13358386</Counter>
- <Counter worker="5">13358347</Counter>
- <Counter worker="6">13358183</Counter>
- <Counter worker="7">13358191</Counter>
- <Counter worker="8">13409498</Counter>
- <Counter worker="9">13409534</Counter>
- <Counter worker="10">13409355</Counter>
- <Counter worker="11">13409356</Counter>
- <Counter worker="12">13409477</Counter>
- <Counter worker="13">13409398</Counter>
- <Counter worker="14">13409398</Counter>
- <Counter worker="15">13409452</Counter>
- <Counter worker="16">13725035</Counter>
- <Counter worker="17">13725102</Counter>
- <Counter worker="18">13725140</Counter>
- <Counter worker="19">13724990</Counter>
- <Counter worker="20">13725108</Counter>
- <Counter worker="21">13725040</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="23">
- <Counter worker="0">13448281</Counter>
- <Counter worker="1">13449150</Counter>
- <Counter worker="2">13449235</Counter>
- <Counter worker="3">13449263</Counter>
- <Counter worker="4">13449358</Counter>
- <Counter worker="5">13449247</Counter>
- <Counter worker="6">13449327</Counter>
- <Counter worker="7">13449312</Counter>
- <Counter worker="8">13468811</Counter>
- <Counter worker="9">13468839</Counter>
- <Counter worker="10">13468751</Counter>
- <Counter worker="11">13468726</Counter>
- <Counter worker="12">13468738</Counter>
- <Counter worker="13">13468711</Counter>
- <Counter worker="14">13468861</Counter>
- <Counter worker="15">13468835</Counter>
- <Counter worker="16">13675503</Counter>
- <Counter worker="17">13675619</Counter>
- <Counter worker="18">13675523</Counter>
- <Counter worker="19">13675472</Counter>
- <Counter worker="20">13675556</Counter>
- <Counter worker="21">13675544</Counter>
- <Counter worker="22">13675532</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadSpinlock activeWorker="24">
- <Counter worker="0">13380340</Counter>
- <Counter worker="1">13381193</Counter>
- <Counter worker="2">13378127</Counter>
- <Counter worker="3">13378172</Counter>
- <Counter worker="4">13384719</Counter>
- <Counter worker="5">13384699</Counter>
- <Counter worker="6">13384584</Counter>
- <Counter worker="7">13384610</Counter>
- <Counter worker="8">13403447</Counter>
- <Counter worker="9">13403370</Counter>
- <Counter worker="10">13403295</Counter>
- <Counter worker="11">13403431</Counter>
- <Counter worker="12">13403242</Counter>
- <Counter worker="13">13403348</Counter>
- <Counter worker="14">13403394</Counter>
- <Counter worker="15">13403378</Counter>
- <Counter worker="16">13451683</Counter>
- <Counter worker="17">13451643</Counter>
- <Counter worker="18">13445578</Counter>
- <Counter worker="19">13445455</Counter>
- <Counter worker="20">13451633</Counter>
- <Counter worker="21">13451656</Counter>
- <Counter worker="22">13451565</Counter>
- <Counter worker="23">13451541</Counter>
- </ManyPthreadSpinlock>
- <ManyPthreadMutexInherit activeWorker="1">
- <Counter worker="0">5685517</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="2">
- <Counter worker="0">5696601</Counter>
- <Counter worker="1">5696949</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="3">
- <Counter worker="0">5543995</Counter>
- <Counter worker="1">5544357</Counter>
- <Counter worker="2">5544426</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="4">
- <Counter worker="0">5454438</Counter>
- <Counter worker="1">5454782</Counter>
- <Counter worker="2">5454882</Counter>
- <Counter worker="3">5454926</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="5">
- <Counter worker="0">5471381</Counter>
- <Counter worker="1">5471738</Counter>
- <Counter worker="2">5471815</Counter>
- <Counter worker="3">5471828</Counter>
- <Counter worker="4">5471846</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="6">
- <Counter worker="0">5409420</Counter>
- <Counter worker="1">5409778</Counter>
- <Counter worker="2">5409870</Counter>
- <Counter worker="3">5409863</Counter>
- <Counter worker="4">5409834</Counter>
- <Counter worker="5">5409840</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="7">
- <Counter worker="0">5382186</Counter>
- <Counter worker="1">5382516</Counter>
- <Counter worker="2">5382597</Counter>
- <Counter worker="3">5382630</Counter>
- <Counter worker="4">5382622</Counter>
- <Counter worker="5">5382605</Counter>
- <Counter worker="6">5385095</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="8">
- <Counter worker="0">5352212</Counter>
- <Counter worker="1">5352555</Counter>
- <Counter worker="2">5352630</Counter>
- <Counter worker="3">5352640</Counter>
- <Counter worker="4">5352660</Counter>
- <Counter worker="5">5352675</Counter>
- <Counter worker="6">5352627</Counter>
- <Counter worker="7">5352647</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="9">
- <Counter worker="0">5330964</Counter>
- <Counter worker="1">5331314</Counter>
- <Counter worker="2">5331408</Counter>
- <Counter worker="3">5331433</Counter>
- <Counter worker="4">5331429</Counter>
- <Counter worker="5">5331422</Counter>
- <Counter worker="6">5331360</Counter>
- <Counter worker="7">5331402</Counter>
- <Counter worker="8">5696119</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="10">
- <Counter worker="0">5312790</Counter>
- <Counter worker="1">5313108</Counter>
- <Counter worker="2">5313193</Counter>
- <Counter worker="3">5313221</Counter>
- <Counter worker="4">5313253</Counter>
- <Counter worker="5">5313255</Counter>
- <Counter worker="6">5313216</Counter>
- <Counter worker="7">5313229</Counter>
- <Counter worker="8">5623042</Counter>
- <Counter worker="9">5623031</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="11">
- <Counter worker="0">5347426</Counter>
- <Counter worker="1">5347771</Counter>
- <Counter worker="2">5347831</Counter>
- <Counter worker="3">5347866</Counter>
- <Counter worker="4">5347844</Counter>
- <Counter worker="5">5347886</Counter>
- <Counter worker="6">5347836</Counter>
- <Counter worker="7">5347878</Counter>
- <Counter worker="8">5544845</Counter>
- <Counter worker="9">5544823</Counter>
- <Counter worker="10">5544727</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="12">
- <Counter worker="0">5324241</Counter>
- <Counter worker="1">5324589</Counter>
- <Counter worker="2">5324636</Counter>
- <Counter worker="3">5324686</Counter>
- <Counter worker="4">5324681</Counter>
- <Counter worker="5">5324678</Counter>
- <Counter worker="6">5324639</Counter>
- <Counter worker="7">5324665</Counter>
- <Counter worker="8">5499255</Counter>
- <Counter worker="9">5499245</Counter>
- <Counter worker="10">5499200</Counter>
- <Counter worker="11">5499220</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="13">
- <Counter worker="0">5361809</Counter>
- <Counter worker="1">5362145</Counter>
- <Counter worker="2">5362206</Counter>
- <Counter worker="3">5362252</Counter>
- <Counter worker="4">5362262</Counter>
- <Counter worker="5">5362262</Counter>
- <Counter worker="6">5362256</Counter>
- <Counter worker="7">5362238</Counter>
- <Counter worker="8">5485847</Counter>
- <Counter worker="9">5485850</Counter>
- <Counter worker="10">5485787</Counter>
- <Counter worker="11">5485770</Counter>
- <Counter worker="12">5485785</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="14">
- <Counter worker="0">5343125</Counter>
- <Counter worker="1">5343437</Counter>
- <Counter worker="2">5343528</Counter>
- <Counter worker="3">5343550</Counter>
- <Counter worker="4">5343575</Counter>
- <Counter worker="5">5343550</Counter>
- <Counter worker="6">5343537</Counter>
- <Counter worker="7">5343558</Counter>
- <Counter worker="8">5427404</Counter>
- <Counter worker="9">5427398</Counter>
- <Counter worker="10">5427402</Counter>
- <Counter worker="11">5427400</Counter>
- <Counter worker="12">5427379</Counter>
- <Counter worker="13">5427366</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="15">
- <Counter worker="0">5316180</Counter>
- <Counter worker="1">5316531</Counter>
- <Counter worker="2">5316583</Counter>
- <Counter worker="3">5316629</Counter>
- <Counter worker="4">5316636</Counter>
- <Counter worker="5">5316625</Counter>
- <Counter worker="6">5316608</Counter>
- <Counter worker="7">5316618</Counter>
- <Counter worker="8">5383017</Counter>
- <Counter worker="9">5383040</Counter>
- <Counter worker="10">5382956</Counter>
- <Counter worker="11">5382983</Counter>
- <Counter worker="12">5382964</Counter>
- <Counter worker="13">5382933</Counter>
- <Counter worker="14">5382973</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="16">
- <Counter worker="0">5348312</Counter>
- <Counter worker="1">5348636</Counter>
- <Counter worker="2">5348734</Counter>
- <Counter worker="3">5348745</Counter>
- <Counter worker="4">5348767</Counter>
- <Counter worker="5">5348747</Counter>
- <Counter worker="6">5348742</Counter>
- <Counter worker="7">5348758</Counter>
- <Counter worker="8">5377756</Counter>
- <Counter worker="9">5377760</Counter>
- <Counter worker="10">5377743</Counter>
- <Counter worker="11">5377735</Counter>
- <Counter worker="12">5377720</Counter>
- <Counter worker="13">5377705</Counter>
- <Counter worker="14">5377766</Counter>
- <Counter worker="15">5377744</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="17">
- <Counter worker="0">5328451</Counter>
- <Counter worker="1">5328804</Counter>
- <Counter worker="2">5328899</Counter>
- <Counter worker="3">5328944</Counter>
- <Counter worker="4">5328928</Counter>
- <Counter worker="5">5328922</Counter>
- <Counter worker="6">5328895</Counter>
- <Counter worker="7">5328892</Counter>
- <Counter worker="8">5352090</Counter>
- <Counter worker="9">5352051</Counter>
- <Counter worker="10">5352079</Counter>
- <Counter worker="11">5352076</Counter>
- <Counter worker="12">5352072</Counter>
- <Counter worker="13">5352070</Counter>
- <Counter worker="14">5352084</Counter>
- <Counter worker="15">5352060</Counter>
- <Counter worker="16">5780692</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="18">
- <Counter worker="0">5362263</Counter>
- <Counter worker="1">5362611</Counter>
- <Counter worker="2">5362670</Counter>
- <Counter worker="3">5362711</Counter>
- <Counter worker="4">5362685</Counter>
- <Counter worker="5">5362679</Counter>
- <Counter worker="6">5362698</Counter>
- <Counter worker="7">5362722</Counter>
- <Counter worker="8">5384935</Counter>
- <Counter worker="9">5384948</Counter>
- <Counter worker="10">5384849</Counter>
- <Counter worker="11">5384902</Counter>
- <Counter worker="12">5384887</Counter>
- <Counter worker="13">5384869</Counter>
- <Counter worker="14">5384912</Counter>
- <Counter worker="15">5384902</Counter>
- <Counter worker="16">5717423</Counter>
- <Counter worker="17">5717419</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="19">
- <Counter worker="0">5339960</Counter>
- <Counter worker="1">5340280</Counter>
- <Counter worker="2">5340379</Counter>
- <Counter worker="3">5340412</Counter>
- <Counter worker="4">5340413</Counter>
- <Counter worker="5">5340406</Counter>
- <Counter worker="6">5340390</Counter>
- <Counter worker="7">5340429</Counter>
- <Counter worker="8">5366702</Counter>
- <Counter worker="9">5366709</Counter>
- <Counter worker="10">5366618</Counter>
- <Counter worker="11">5366618</Counter>
- <Counter worker="12">5366640</Counter>
- <Counter worker="13">5366633</Counter>
- <Counter worker="14">5366660</Counter>
- <Counter worker="15">5366640</Counter>
- <Counter worker="16">5562960</Counter>
- <Counter worker="17">5562974</Counter>
- <Counter worker="18">5562969</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="20">
- <Counter worker="0">5328365</Counter>
- <Counter worker="1">5328690</Counter>
- <Counter worker="2">5328769</Counter>
- <Counter worker="3">5328750</Counter>
- <Counter worker="4">5328811</Counter>
- <Counter worker="5">5328819</Counter>
- <Counter worker="6">5328761</Counter>
- <Counter worker="7">5328804</Counter>
- <Counter worker="8">5352530</Counter>
- <Counter worker="9">5352507</Counter>
- <Counter worker="10">5352517</Counter>
- <Counter worker="11">5352526</Counter>
- <Counter worker="12">5352478</Counter>
- <Counter worker="13">5352481</Counter>
- <Counter worker="14">5352540</Counter>
- <Counter worker="15">5352508</Counter>
- <Counter worker="16">5542382</Counter>
- <Counter worker="17">5542457</Counter>
- <Counter worker="18">5542429</Counter>
- <Counter worker="19">5542397</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="21">
- <Counter worker="0">5355821</Counter>
- <Counter worker="1">5356186</Counter>
- <Counter worker="2">5356298</Counter>
- <Counter worker="3">5356259</Counter>
- <Counter worker="4">5356261</Counter>
- <Counter worker="5">5356320</Counter>
- <Counter worker="6">5356247</Counter>
- <Counter worker="7">5356272</Counter>
- <Counter worker="8">5376396</Counter>
- <Counter worker="9">5376387</Counter>
- <Counter worker="10">5376323</Counter>
- <Counter worker="11">5376368</Counter>
- <Counter worker="12">5376339</Counter>
- <Counter worker="13">5376330</Counter>
- <Counter worker="14">5376387</Counter>
- <Counter worker="15">5376365</Counter>
- <Counter worker="16">5547253</Counter>
- <Counter worker="17">5547266</Counter>
- <Counter worker="18">5547315</Counter>
- <Counter worker="19">5547267</Counter>
- <Counter worker="20">5547295</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="22">
- <Counter worker="0">5340616</Counter>
- <Counter worker="1">5340986</Counter>
- <Counter worker="2">5341028</Counter>
- <Counter worker="3">5341065</Counter>
- <Counter worker="4">5341078</Counter>
- <Counter worker="5">5341079</Counter>
- <Counter worker="6">5341007</Counter>
- <Counter worker="7">5341038</Counter>
- <Counter worker="8">5359566</Counter>
- <Counter worker="9">5359570</Counter>
- <Counter worker="10">5359478</Counter>
- <Counter worker="11">5359502</Counter>
- <Counter worker="12">5359496</Counter>
- <Counter worker="13">5359527</Counter>
- <Counter worker="14">5359536</Counter>
- <Counter worker="15">5359526</Counter>
- <Counter worker="16">5498507</Counter>
- <Counter worker="17">5498494</Counter>
- <Counter worker="18">5498532</Counter>
- <Counter worker="19">5498493</Counter>
- <Counter worker="20">5498503</Counter>
- <Counter worker="21">5498516</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="23">
- <Counter worker="0">5305895</Counter>
- <Counter worker="1">5306236</Counter>
- <Counter worker="2">5306305</Counter>
- <Counter worker="3">5306345</Counter>
- <Counter worker="4">5306344</Counter>
- <Counter worker="5">5306361</Counter>
- <Counter worker="6">5306301</Counter>
- <Counter worker="7">5306340</Counter>
- <Counter worker="8">5339859</Counter>
- <Counter worker="9">5339855</Counter>
- <Counter worker="10">5339822</Counter>
- <Counter worker="11">5339853</Counter>
- <Counter worker="12">5339853</Counter>
- <Counter worker="13">5339851</Counter>
- <Counter worker="14">5339883</Counter>
- <Counter worker="15">5339826</Counter>
- <Counter worker="16">5444298</Counter>
- <Counter worker="17">5444322</Counter>
- <Counter worker="18">5444263</Counter>
- <Counter worker="19">5444218</Counter>
- <Counter worker="20">5444333</Counter>
- <Counter worker="21">5444339</Counter>
- <Counter worker="22">5444294</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexInherit activeWorker="24">
- <Counter worker="0">5344687</Counter>
- <Counter worker="1">5345037</Counter>
- <Counter worker="2">5345099</Counter>
- <Counter worker="3">5345114</Counter>
- <Counter worker="4">5345124</Counter>
- <Counter worker="5">5345129</Counter>
- <Counter worker="6">5345111</Counter>
- <Counter worker="7">5345126</Counter>
- <Counter worker="8">5366163</Counter>
- <Counter worker="9">5366157</Counter>
- <Counter worker="10">5366132</Counter>
- <Counter worker="11">5366143</Counter>
- <Counter worker="12">5366131</Counter>
- <Counter worker="13">5366096</Counter>
- <Counter worker="14">5366169</Counter>
- <Counter worker="15">5366118</Counter>
- <Counter worker="16">5420792</Counter>
- <Counter worker="17">5420837</Counter>
- <Counter worker="18">5420864</Counter>
- <Counter worker="19">5420785</Counter>
- <Counter worker="20">5420835</Counter>
- <Counter worker="21">5420827</Counter>
- <Counter worker="22">5420737</Counter>
- <Counter worker="23">5420793</Counter>
- </ManyPthreadMutexInherit>
- <ManyPthreadMutexProtect activeWorker="1">
- <Counter worker="0">804850</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="2">
- <Counter worker="0">736889</Counter>
- <Counter worker="1">736932</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="3">
- <Counter worker="0">677059</Counter>
- <Counter worker="1">677102</Counter>
- <Counter worker="2">677109</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="4">
- <Counter worker="0">511022</Counter>
- <Counter worker="1">511064</Counter>
- <Counter worker="2">511070</Counter>
- <Counter worker="3">511071</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="5">
- <Counter worker="0">403704</Counter>
- <Counter worker="1">403746</Counter>
- <Counter worker="2">403747</Counter>
- <Counter worker="3">403747</Counter>
- <Counter worker="4">403752</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="6">
- <Counter worker="0">329360</Counter>
- <Counter worker="1">329396</Counter>
- <Counter worker="2">329402</Counter>
- <Counter worker="3">329404</Counter>
- <Counter worker="4">329401</Counter>
- <Counter worker="5">329405</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="7">
- <Counter worker="0">271830</Counter>
- <Counter worker="1">271865</Counter>
- <Counter worker="2">271870</Counter>
- <Counter worker="3">271871</Counter>
- <Counter worker="4">271871</Counter>
- <Counter worker="5">271874</Counter>
- <Counter worker="6">271880</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="8">
- <Counter worker="0">234106</Counter>
- <Counter worker="1">234135</Counter>
- <Counter worker="2">234147</Counter>
- <Counter worker="3">234143</Counter>
- <Counter worker="4">234145</Counter>
- <Counter worker="5">234144</Counter>
- <Counter worker="6">234144</Counter>
- <Counter worker="7">234145</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="9">
- <Counter worker="0">108890</Counter>
- <Counter worker="1">108899</Counter>
- <Counter worker="2">108898</Counter>
- <Counter worker="3">108897</Counter>
- <Counter worker="4">108898</Counter>
- <Counter worker="5">108898</Counter>
- <Counter worker="6">108898</Counter>
- <Counter worker="7">108896</Counter>
- <Counter worker="8">108892</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="10">
- <Counter worker="0">93131</Counter>
- <Counter worker="1">93136</Counter>
- <Counter worker="2">93135</Counter>
- <Counter worker="3">93136</Counter>
- <Counter worker="4">93136</Counter>
- <Counter worker="5">93136</Counter>
- <Counter worker="6">93136</Counter>
- <Counter worker="7">93136</Counter>
- <Counter worker="8">93134</Counter>
- <Counter worker="9">93135</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="11">
- <Counter worker="0">79836</Counter>
- <Counter worker="1">79839</Counter>
- <Counter worker="2">79840</Counter>
- <Counter worker="3">79840</Counter>
- <Counter worker="4">79841</Counter>
- <Counter worker="5">79840</Counter>
- <Counter worker="6">79840</Counter>
- <Counter worker="7">79840</Counter>
- <Counter worker="8">79839</Counter>
- <Counter worker="9">79839</Counter>
- <Counter worker="10">79839</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="12">
- <Counter worker="0">70922</Counter>
- <Counter worker="1">70924</Counter>
- <Counter worker="2">70924</Counter>
- <Counter worker="3">70924</Counter>
- <Counter worker="4">70924</Counter>
- <Counter worker="5">70924</Counter>
- <Counter worker="6">70923</Counter>
- <Counter worker="7">70924</Counter>
- <Counter worker="8">70924</Counter>
- <Counter worker="9">70924</Counter>
- <Counter worker="10">70924</Counter>
- <Counter worker="11">70924</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="13">
- <Counter worker="0">59848</Counter>
- <Counter worker="1">59850</Counter>
- <Counter worker="2">59850</Counter>
- <Counter worker="3">59850</Counter>
- <Counter worker="4">59850</Counter>
- <Counter worker="5">59850</Counter>
- <Counter worker="6">59850</Counter>
- <Counter worker="7">59850</Counter>
- <Counter worker="8">59850</Counter>
- <Counter worker="9">59850</Counter>
- <Counter worker="10">59850</Counter>
- <Counter worker="11">59850</Counter>
- <Counter worker="12">59850</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="14">
- <Counter worker="0">56173</Counter>
- <Counter worker="1">56175</Counter>
- <Counter worker="2">56175</Counter>
- <Counter worker="3">56175</Counter>
- <Counter worker="4">56175</Counter>
- <Counter worker="5">56175</Counter>
- <Counter worker="6">56175</Counter>
- <Counter worker="7">56175</Counter>
- <Counter worker="8">56175</Counter>
- <Counter worker="9">56175</Counter>
- <Counter worker="10">56175</Counter>
- <Counter worker="11">56175</Counter>
- <Counter worker="12">56175</Counter>
- <Counter worker="13">56175</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="15">
- <Counter worker="0">51032</Counter>
- <Counter worker="1">51034</Counter>
- <Counter worker="2">51034</Counter>
- <Counter worker="3">51034</Counter>
- <Counter worker="4">51034</Counter>
- <Counter worker="5">51034</Counter>
- <Counter worker="6">51034</Counter>
- <Counter worker="7">51034</Counter>
- <Counter worker="8">51034</Counter>
- <Counter worker="9">51034</Counter>
- <Counter worker="10">51034</Counter>
- <Counter worker="11">51034</Counter>
- <Counter worker="12">51034</Counter>
- <Counter worker="13">51034</Counter>
- <Counter worker="14">51034</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="16">
- <Counter worker="0">48695</Counter>
- <Counter worker="1">48696</Counter>
- <Counter worker="2">48696</Counter>
- <Counter worker="3">48696</Counter>
- <Counter worker="4">48696</Counter>
- <Counter worker="5">48696</Counter>
- <Counter worker="6">48696</Counter>
- <Counter worker="7">48696</Counter>
- <Counter worker="8">48696</Counter>
- <Counter worker="9">48696</Counter>
- <Counter worker="10">48696</Counter>
- <Counter worker="11">48696</Counter>
- <Counter worker="12">48695</Counter>
- <Counter worker="13">48696</Counter>
- <Counter worker="14">48696</Counter>
- <Counter worker="15">48695</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="17">
- <Counter worker="0">43536</Counter>
- <Counter worker="1">43537</Counter>
- <Counter worker="2">43537</Counter>
- <Counter worker="3">43537</Counter>
- <Counter worker="4">43537</Counter>
- <Counter worker="5">43537</Counter>
- <Counter worker="6">43537</Counter>
- <Counter worker="7">43537</Counter>
- <Counter worker="8">43537</Counter>
- <Counter worker="9">43537</Counter>
- <Counter worker="10">43537</Counter>
- <Counter worker="11">43537</Counter>
- <Counter worker="12">43537</Counter>
- <Counter worker="13">43537</Counter>
- <Counter worker="14">43537</Counter>
- <Counter worker="15">43537</Counter>
- <Counter worker="16">43536</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="18">
- <Counter worker="0">38780</Counter>
- <Counter worker="1">38781</Counter>
- <Counter worker="2">38781</Counter>
- <Counter worker="3">38781</Counter>
- <Counter worker="4">38781</Counter>
- <Counter worker="5">38781</Counter>
- <Counter worker="6">38781</Counter>
- <Counter worker="7">38781</Counter>
- <Counter worker="8">38781</Counter>
- <Counter worker="9">38781</Counter>
- <Counter worker="10">38781</Counter>
- <Counter worker="11">38781</Counter>
- <Counter worker="12">38781</Counter>
- <Counter worker="13">38781</Counter>
- <Counter worker="14">38780</Counter>
- <Counter worker="15">38781</Counter>
- <Counter worker="16">38781</Counter>
- <Counter worker="17">38781</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="19">
- <Counter worker="0">35997</Counter>
- <Counter worker="1">35997</Counter>
- <Counter worker="2">35997</Counter>
- <Counter worker="3">35997</Counter>
- <Counter worker="4">35997</Counter>
- <Counter worker="5">35997</Counter>
- <Counter worker="6">35998</Counter>
- <Counter worker="7">35997</Counter>
- <Counter worker="8">35997</Counter>
- <Counter worker="9">35997</Counter>
- <Counter worker="10">35997</Counter>
- <Counter worker="11">35997</Counter>
- <Counter worker="12">35997</Counter>
- <Counter worker="13">35997</Counter>
- <Counter worker="14">35997</Counter>
- <Counter worker="15">35997</Counter>
- <Counter worker="16">35997</Counter>
- <Counter worker="17">35998</Counter>
- <Counter worker="18">35997</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="20">
- <Counter worker="0">36332</Counter>
- <Counter worker="1">36333</Counter>
- <Counter worker="2">36333</Counter>
- <Counter worker="3">36332</Counter>
- <Counter worker="4">36333</Counter>
- <Counter worker="5">36332</Counter>
- <Counter worker="6">36333</Counter>
- <Counter worker="7">36332</Counter>
- <Counter worker="8">36332</Counter>
- <Counter worker="9">36333</Counter>
- <Counter worker="10">36332</Counter>
- <Counter worker="11">36332</Counter>
- <Counter worker="12">36332</Counter>
- <Counter worker="13">36333</Counter>
- <Counter worker="14">36332</Counter>
- <Counter worker="15">36332</Counter>
- <Counter worker="16">36332</Counter>
- <Counter worker="17">36333</Counter>
- <Counter worker="18">36332</Counter>
- <Counter worker="19">36332</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="21">
- <Counter worker="0">33208</Counter>
- <Counter worker="1">33209</Counter>
- <Counter worker="2">33209</Counter>
- <Counter worker="3">33209</Counter>
- <Counter worker="4">33208</Counter>
- <Counter worker="5">33208</Counter>
- <Counter worker="6">33209</Counter>
- <Counter worker="7">33208</Counter>
- <Counter worker="8">33208</Counter>
- <Counter worker="9">33208</Counter>
- <Counter worker="10">33208</Counter>
- <Counter worker="11">33208</Counter>
- <Counter worker="12">33209</Counter>
- <Counter worker="13">33209</Counter>
- <Counter worker="14">33208</Counter>
- <Counter worker="15">33208</Counter>
- <Counter worker="16">33208</Counter>
- <Counter worker="17">33208</Counter>
- <Counter worker="18">33209</Counter>
- <Counter worker="19">33208</Counter>
- <Counter worker="20">33208</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="22">
- <Counter worker="0">31798</Counter>
- <Counter worker="1">31798</Counter>
- <Counter worker="2">31799</Counter>
- <Counter worker="3">31799</Counter>
- <Counter worker="4">31798</Counter>
- <Counter worker="5">31799</Counter>
- <Counter worker="6">31798</Counter>
- <Counter worker="7">31799</Counter>
- <Counter worker="8">31799</Counter>
- <Counter worker="9">31799</Counter>
- <Counter worker="10">31798</Counter>
- <Counter worker="11">31799</Counter>
- <Counter worker="12">31799</Counter>
- <Counter worker="13">31798</Counter>
- <Counter worker="14">31799</Counter>
- <Counter worker="15">31799</Counter>
- <Counter worker="16">31799</Counter>
- <Counter worker="17">31799</Counter>
- <Counter worker="18">31799</Counter>
- <Counter worker="19">31799</Counter>
- <Counter worker="20">31799</Counter>
- <Counter worker="21">31799</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="23">
- <Counter worker="0">29626</Counter>
- <Counter worker="1">29627</Counter>
- <Counter worker="2">29627</Counter>
- <Counter worker="3">29627</Counter>
- <Counter worker="4">29627</Counter>
- <Counter worker="5">29627</Counter>
- <Counter worker="6">29627</Counter>
- <Counter worker="7">29627</Counter>
- <Counter worker="8">29627</Counter>
- <Counter worker="9">29627</Counter>
- <Counter worker="10">29627</Counter>
- <Counter worker="11">29627</Counter>
- <Counter worker="12">29627</Counter>
- <Counter worker="13">29627</Counter>
- <Counter worker="14">29627</Counter>
- <Counter worker="15">29627</Counter>
- <Counter worker="16">29627</Counter>
- <Counter worker="17">29627</Counter>
- <Counter worker="18">29627</Counter>
- <Counter worker="19">29627</Counter>
- <Counter worker="20">29627</Counter>
- <Counter worker="21">29627</Counter>
- <Counter worker="22">29627</Counter>
- </ManyPthreadMutexProtect>
- <ManyPthreadMutexProtect activeWorker="24">
- <Counter worker="0">28079</Counter>
- <Counter worker="1">28079</Counter>
- <Counter worker="2">28079</Counter>
- <Counter worker="3">28079</Counter>
- <Counter worker="4">28079</Counter>
- <Counter worker="5">28079</Counter>
- <Counter worker="6">28079</Counter>
- <Counter worker="7">28079</Counter>
- <Counter worker="8">28079</Counter>
- <Counter worker="9">28079</Counter>
- <Counter worker="10">28079</Counter>
- <Counter worker="11">28079</Counter>
- <Counter worker="12">28079</Counter>
- <Counter worker="13">28079</Counter>
- <Counter worker="14">28079</Counter>
- <Counter worker="15">28079</Counter>
- <Counter worker="16">28079</Counter>
- <Counter worker="17">28079</Counter>
- <Counter worker="18">28079</Counter>
- <Counter worker="19">28080</Counter>
- <Counter worker="20">28080</Counter>
- <Counter worker="21">28080</Counter>
- <Counter worker="22">28079</Counter>
- <Counter worker="23">28079</Counter>
- </ManyPthreadMutexProtect>
-</TestTimeFine01>
+*** TEST VERSION: 6.0.0.4bca4100fc4f184b6638165675095808f109546a
+*** TEST STATE: EXPECTED_PASS
+*** TEST BUILD: RTEMS_SMP
+*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448)
+*** BEGIN OF JSON DATA ***
+[
+ {
+ "type": "event",
+ "description": "Send Event to Self",
+ "counter": [
+ [172991],
+ [173266, 168815],
+ [173282, 168785, 168831],
+ [173276, 168779, 168779, 172240]
+ ]
+ }, {
+ "type": "event",
+ "description": "Send Event to One",
+ "counter": [
+ [172666],
+ [172666, 320222],
+ [172682, 304636, 304639],
+ [172676, 304626, 320241, 312574]
+ ]
+ }, {
+ "type": "contested-mutex",
+ "description": "Obtain/Release Contested Classic Inheritance Mutex",
+ "counter": [
+ [159961],
+ [12149, 12148],
+ [7529, 7529, 7528],
+ [5671, 5671, 5671, 5670]
+ ]
+ }, {
+ "type": "message",
+ "description": "Send Message to Self",
+ "counter": [
+ [94498],
+ [94506, 94612],
+ [94516, 94622, 94622],
+ [94513, 94620, 94619, 94615]
+ ]
+ }, {
+ "type": "message",
+ "description": "Send Message to One Receiver",
+ "counter": [
+ [94155],
+ [105077, 210425],
+ [91113, 182522, 182535],
+ [74015, 148307, 148308, 148292]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Pthread Spinlock",
+ "counter": [
+ [648144],
+ [648120, 648744],
+ [648207, 648831, 648831],
+ [648183, 648808, 648808, 648779]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private <sys/lock.h> Mutex",
+ "counter": [
+ [317884],
+ [317869, 318174],
+ [317912, 318217, 318217],
+ [317901, 318206, 318206, 318193]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Pthread Inheritance Mutex",
+ "counter": [
+ [219857],
+ [219843, 220056],
+ [219877, 220089, 220089],
+ [219868, 220080, 220081, 220066]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Classic Inheritance Mutex",
+ "counter": [
+ [159957],
+ [159867, 160095],
+ [159923, 160107, 160107],
+ [159941, 160133, 160078, 160075]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Pthread Ceiling Mutex",
+ "counter": [
+ [28740],
+ [27948, 27993],
+ [26941, 26973, 26973],
+ [21414, 21439, 21439, 21439]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Classic Ceiling Mutex",
+ "counter": [
+ [27399],
+ [26819, 26841],
+ [26253, 26282, 26282],
+ [21187, 21215, 21214, 21214]
+ ]
+ }, {
+ "type": "private-mutex",
+ "description": "Obtain/Release Private Classic MrsP Mutex",
+ "counter": [
+ [26696],
+ [26074, 26074],
+ [24738, 24770, 24769],
+ [18947, 18970, 18970, 18968]
+ ]
+ }
+]
+*** END OF JSON DATA ***
+
*** END OF TEST TMFINE 1 ***
+
+cpu 1 in error mode (tt = 0x80)
+ 2400642150 0000d760: 91d02000 ta 0x0
diff --git a/testsuites/tmtests/tmonetoone/init.c b/testsuites/tmtests/tmonetoone/init.c
index 9c8af786db..b4f63a604f 100644
--- a/testsuites/tmtests/tmonetoone/init.c
+++ b/testsuites/tmtests/tmonetoone/init.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (c) 2018 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2018 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/testsuites/tmtests/tmtimer01/init.c b/testsuites/tmtests/tmtimer01/init.c
index 0c8ac3d2de..1a37b5192c 100644
--- a/testsuites/tmtests/tmtimer01/init.c
+++ b/testsuites/tmtests/tmtimer01/init.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -108,13 +108,14 @@ static void test_fire_and_cancel(
rtems_test_assert(sc2 == RTEMS_SUCCESSFUL);
printf(
- "<%s unit=\"ns\">%" PRIu64 "</%s>",
+ ",\n \"%s\": %" PRIu64,
name,
- rtems_counter_ticks_to_nanoseconds(d),
- name
+ rtems_counter_ticks_to_nanoseconds(d)
);
}
+static const char *sep = "\n ";
+
static void test_case(test_context *ctx, size_t j, size_t k)
{
rtems_status_code sc;
@@ -130,13 +131,17 @@ static void test_case(test_context *ctx, size_t j, size_t k)
rtems_test_assert(sc == RTEMS_SUCCESSFUL);
}
- printf(" <Sample>\n <ActiveTimers>%zu</ActiveTimers>", j);
-
- test_fire_and_cancel(ctx, j, 0, "First");
- test_fire_and_cancel(ctx, j, j / 2, "Middle");
- test_fire_and_cancel(ctx, j, j + 1, "Last");
+ printf(
+ "%s{\n"
+ " \"active-timers\": %zu",
+ sep,
+ j
+ );
+ sep = "\n }, ";
- printf("\n </Sample>\n");
+ test_fire_and_cancel(ctx, j, 0, "first");
+ test_fire_and_cancel(ctx, j, j / 2, "middle");
+ test_fire_and_cancel(ctx, j, j + 1, "last");
}
static void test(void)
@@ -181,7 +186,13 @@ static void test(void)
timer_count = n;
}
- printf("<TMTimer01 timerCount=\"%zu\">\n", timer_count);
+ printf(
+ "*** BEGIN OF JSON DATA ***\n"
+ "{\n"
+ " \"timer-count\": %zu,\n"
+ " \"samples\": [",
+ timer_count
+ );
k = 0;
j = 0;
@@ -194,7 +205,7 @@ static void test(void)
test_case(ctx, n - 2, k);
- printf("</TMTimer01>\n");
+ printf("\n }\n ]\n}\n*** END OF JSON DATA ***\n");
}
static void Init(rtems_task_argument arg)
diff --git a/testsuites/tmtests/tmtimer01/plot.py b/testsuites/tmtests/tmtimer01/plot.py
index c0738ef70d..73654c5b9d 100644
--- a/testsuites/tmtests/tmtimer01/plot.py
+++ b/testsuites/tmtests/tmtimer01/plot.py
@@ -1,7 +1,6 @@
# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+# Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -23,22 +22,35 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-#
-import libxml2
-from libxml2 import xmlNode
-import matplotlib.pyplot as plt
-doc = libxml2.parseFile('tmtimer01.scn')
-ctx = doc.xpathNewContext()
-
-plt.title('timer test')
-plt.xscale('log')
-plt.xlabel('active timers')
-plt.ylabel('timer fire and cancel [ns]')
-
-x = map(xmlNode.getContent, ctx.xpathEval('/TMTimer01/Sample/ActiveTimers'))
-for i in ['First', 'Middle', 'Last']:
- y = map(xmlNode.getContent, ctx.xpathEval('/TMTimer01/Sample/' + i))
- plt.plot(x, y, label = i)
-plt.legend(loc = 'best')
-plt.show()
+import json
+import re
+import matplotlib.pyplot as plt # type: ignore
+from matplotlib import ticker # type: ignore
+
+
+def _plot(data: dict) -> None:
+ _, axes = plt.subplots()
+ axes.set_title("Timer Fire and Cancel Timing Test")
+ axes.set_xlabel("Active Timers")
+ axes.set_xscale("log")
+ axes.set_ylabel("Timer Fire and Cancel Duration [μs]")
+ x = [sample["active-timers"] for sample in data["samples"]]
+ for key in ["first", "middle", "last"]:
+ y = [sample[key] / 1000.0 for sample in data["samples"]]
+ axes.plot(x, y, label=f"operate on {key} timer", marker='o')
+ axes.legend(loc='best')
+ plt.savefig("tmtimer01.png")
+ plt.savefig("tmtimer01.pdf")
+ plt.close()
+
+
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
+
+with open("tmtimer01.scn", "r", encoding="utf-8") as src:
+ match = _JSON_DATA.search(src.read())
+ data = json.loads(match.group(1))
+
+_plot(data)
diff --git a/testsuites/tmtests/tmtimer01/tmtimer01.scn b/testsuites/tmtests/tmtimer01/tmtimer01.scn
index db3ca01d27..b278c75177 100644
--- a/testsuites/tmtests/tmtimer01/tmtimer01.scn
+++ b/testsuites/tmtests/tmtimer01/tmtimer01.scn
@@ -1,137 +1,252 @@
-<TMTimer01 timerCount="65504">
- <Sample>
- <ActiveTimers>0</ActiveTimers><First unit="ns">8812</First><Middle unit="ns">1412</Middle><Last unit="ns">917</Last>
- </Sample>
- <Sample>
- <ActiveTimers>2</ActiveTimers><First unit="ns">1602</First><Middle unit="ns">1010</Middle><Last unit="ns">1367</Last>
- </Sample>
- <Sample>
- <ActiveTimers>4</ActiveTimers><First unit="ns">1524</First><Middle unit="ns">1089</Middle><Last unit="ns">1086</Last>
- </Sample>
- <Sample>
- <ActiveTimers>7</ActiveTimers><First unit="ns">1791</First><Middle unit="ns">1121</Middle><Last unit="ns">1838</Last>
- </Sample>
- <Sample>
- <ActiveTimers>10</ActiveTimers><First unit="ns">1488</First><Middle unit="ns">1016</Middle><Last unit="ns">2134</Last>
- </Sample>
- <Sample>
- <ActiveTimers>14</ActiveTimers><First unit="ns">1527</First><Middle unit="ns">1698</Middle><Last unit="ns">3186</Last>
- </Sample>
- <Sample>
- <ActiveTimers>19</ActiveTimers><First unit="ns">2078</First><Middle unit="ns">1665</Middle><Last unit="ns">3397</Last>
- </Sample>
- <Sample>
- <ActiveTimers>25</ActiveTimers><First unit="ns">1519</First><Middle unit="ns">2368</Middle><Last unit="ns">4464</Last>
- </Sample>
- <Sample>
- <ActiveTimers>32</ActiveTimers><First unit="ns">1243</First><Middle unit="ns">2623</Middle><Last unit="ns">3549</Last>
- </Sample>
- <Sample>
- <ActiveTimers>41</ActiveTimers><First unit="ns">2368</First><Middle unit="ns">2578</Middle><Last unit="ns">4105</Last>
- </Sample>
- <Sample>
- <ActiveTimers>52</ActiveTimers><First unit="ns">2322</First><Middle unit="ns">2563</Middle><Last unit="ns">4126</Last>
- </Sample>
- <Sample>
- <ActiveTimers>66</ActiveTimers><First unit="ns">2499</First><Middle unit="ns">1855</Middle><Last unit="ns">4919</Last>
- </Sample>
- <Sample>
- <ActiveTimers>83</ActiveTimers><First unit="ns">1689</First><Middle unit="ns">3128</Middle><Last unit="ns">5894</Last>
- </Sample>
- <Sample>
- <ActiveTimers>104</ActiveTimers><First unit="ns">2301</First><Middle unit="ns">2647</Middle><Last unit="ns">4595</Last>
- </Sample>
- <Sample>
- <ActiveTimers>130</ActiveTimers><First unit="ns">2880</First><Middle unit="ns">3183</Middle><Last unit="ns">6222</Last>
- </Sample>
- <Sample>
- <ActiveTimers>162</ActiveTimers><First unit="ns">2597</First><Middle unit="ns">2376</Middle><Last unit="ns">7118</Last>
- </Sample>
- <Sample>
- <ActiveTimers>201</ActiveTimers><First unit="ns">3519</First><Middle unit="ns">3466</Middle><Last unit="ns">6673</Last>
- </Sample>
- <Sample>
- <ActiveTimers>249</ActiveTimers><First unit="ns">2829</First><Middle unit="ns">3177</Middle><Last unit="ns">7784</Last>
- </Sample>
- <Sample>
- <ActiveTimers>308</ActiveTimers><First unit="ns">2614</First><Middle unit="ns">3396</Middle><Last unit="ns">7338</Last>
- </Sample>
- <Sample>
- <ActiveTimers>381</ActiveTimers><First unit="ns">3454</First><Middle unit="ns">4888</Middle><Last unit="ns">9114</Last>
- </Sample>
- <Sample>
- <ActiveTimers>470</ActiveTimers><First unit="ns">3397</First><Middle unit="ns">2443</Middle><Last unit="ns">7689</Last>
- </Sample>
- <Sample>
- <ActiveTimers>580</ActiveTimers><First unit="ns">2233</First><Middle unit="ns">4410</Middle><Last unit="ns">9355</Last>
- </Sample>
- <Sample>
- <ActiveTimers>715</ActiveTimers><First unit="ns">3787</First><Middle unit="ns">5891</Middle><Last unit="ns">6833</Last>
- </Sample>
- <Sample>
- <ActiveTimers>881</ActiveTimers><First unit="ns">3839</First><Middle unit="ns">5089</Middle><Last unit="ns">9232</Last>
- </Sample>
- <Sample>
- <ActiveTimers>1085</ActiveTimers><First unit="ns">2838</First><Middle unit="ns">2739</Middle><Last unit="ns">11575</Last>
- </Sample>
- <Sample>
- <ActiveTimers>1336</ActiveTimers><First unit="ns">3256</First><Middle unit="ns">5011</Middle><Last unit="ns">9684</Last>
- </Sample>
- <Sample>
- <ActiveTimers>1645</ActiveTimers><First unit="ns">2293</First><Middle unit="ns">5262</Middle><Last unit="ns">10183</Last>
- </Sample>
- <Sample>
- <ActiveTimers>2025</ActiveTimers><First unit="ns">4436</First><Middle unit="ns">5934</Middle><Last unit="ns">8804</Last>
- </Sample>
- <Sample>
- <ActiveTimers>2492</ActiveTimers><First unit="ns">4506</First><Middle unit="ns">7284</Middle><Last unit="ns">10389</Last>
- </Sample>
- <Sample>
- <ActiveTimers>3067</ActiveTimers><First unit="ns">3832</First><Middle unit="ns">4990</Middle><Last unit="ns">9536</Last>
- </Sample>
- <Sample>
- <ActiveTimers>3774</ActiveTimers><First unit="ns">5088</First><Middle unit="ns">4888</Middle><Last unit="ns">9633</Last>
- </Sample>
- <Sample>
- <ActiveTimers>4644</ActiveTimers><First unit="ns">5590</First><Middle unit="ns">5749</Middle><Last unit="ns">8975</Last>
- </Sample>
- <Sample>
- <ActiveTimers>5714</ActiveTimers><First unit="ns">4854</First><Middle unit="ns">6813</Middle><Last unit="ns">11603</Last>
- </Sample>
- <Sample>
- <ActiveTimers>7030</ActiveTimers><First unit="ns">6139</First><Middle unit="ns">6132</Middle><Last unit="ns">12630</Last>
- </Sample>
- <Sample>
- <ActiveTimers>8649</ActiveTimers><First unit="ns">6877</First><Middle unit="ns">3852</Middle><Last unit="ns">10973</Last>
- </Sample>
- <Sample>
- <ActiveTimers>10640</ActiveTimers><First unit="ns">6532</First><Middle unit="ns">6097</Middle><Last unit="ns">11725</Last>
- </Sample>
- <Sample>
- <ActiveTimers>13089</ActiveTimers><First unit="ns">5284</First><Middle unit="ns">5392</Middle><Last unit="ns">13246</Last>
- </Sample>
- <Sample>
- <ActiveTimers>16101</ActiveTimers><First unit="ns">7077</First><Middle unit="ns">7572</Middle><Last unit="ns">14820</Last>
- </Sample>
- <Sample>
- <ActiveTimers>19806</ActiveTimers><First unit="ns">7132</First><Middle unit="ns">8335</Middle><Last unit="ns">11668</Last>
- </Sample>
- <Sample>
- <ActiveTimers>24363</ActiveTimers><First unit="ns">8676</First><Middle unit="ns">7919</Middle><Last unit="ns">13937</Last>
- </Sample>
- <Sample>
- <ActiveTimers>29968</ActiveTimers><First unit="ns">5970</First><Middle unit="ns">10978</Middle><Last unit="ns">16035</Last>
- </Sample>
- <Sample>
- <ActiveTimers>36862</ActiveTimers><First unit="ns">8804</First><Middle unit="ns">8767</Middle><Last unit="ns">13089</Last>
- </Sample>
- <Sample>
- <ActiveTimers>45342</ActiveTimers><First unit="ns">8608</First><Middle unit="ns">10305</Middle><Last unit="ns">15709</Last>
- </Sample>
- <Sample>
- <ActiveTimers>55772</ActiveTimers><First unit="ns">8949</First><Middle unit="ns">10031</Middle><Last unit="ns">16262</Last>
- </Sample>
- <Sample>
- <ActiveTimers>65503</ActiveTimers><First unit="ns">9199</First><Middle unit="ns">10309</Middle><Last unit="ns">19090</Last>
- </Sample>
-</TMTimer01>
+
+ SIS - SPARC/RISCV instruction simulator 2.30, copyright Jiri Gaisler 2020
+ Bug-reports to jiri@gaisler.se
+
+ GR740/LEON4 emulation enabled, 4 cpus online, delta 50 clocks
+
+ Loaded build/sparc/gr740/testsuites/tmtests/tmtimer01.exe, entry 0x00000000
+
+
+*** BEGIN OF TEST TMTIMER 1 ***
+*** TEST VERSION: 6.0.0.76c91ee7793fc70b92e2f87e601c3fdc2d2b7f3f
+*** TEST STATE: EXPECTED_PASS
+*** TEST BUILD: RTEMS_SMP
+*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448)
+*** BEGIN OF JSON DATA ***
+{
+ "timer-count": 61024,
+ "samples": [
+ {
+ "active-timers": 0,
+ "first": 8560,
+ "middle": 8600,
+ "last": 8520
+ }, {
+ "active-timers": 2,
+ "first": 9020,
+ "middle": 11680,
+ "last": 8860
+ }, {
+ "active-timers": 4,
+ "first": 9480,
+ "middle": 9440,
+ "last": 11060
+ }, {
+ "active-timers": 7,
+ "first": 9360,
+ "middle": 9820,
+ "last": 12300
+ }, {
+ "active-timers": 10,
+ "first": 9860,
+ "middle": 9580,
+ "last": 11980
+ }, {
+ "active-timers": 14,
+ "first": 9860,
+ "middle": 10040,
+ "last": 12280
+ }, {
+ "active-timers": 19,
+ "first": 10360,
+ "middle": 10080,
+ "last": 13260
+ }, {
+ "active-timers": 25,
+ "first": 10360,
+ "middle": 10500,
+ "last": 14460
+ }, {
+ "active-timers": 32,
+ "first": 10240,
+ "middle": 10620,
+ "last": 13040
+ }, {
+ "active-timers": 41,
+ "first": 10820,
+ "middle": 10540,
+ "last": 15000
+ }, {
+ "active-timers": 52,
+ "first": 10740,
+ "middle": 10880,
+ "last": 13660
+ }, {
+ "active-timers": 66,
+ "first": 10820,
+ "middle": 10880,
+ "last": 13960
+ }, {
+ "active-timers": 83,
+ "first": 11160,
+ "middle": 11040,
+ "last": 14940
+ }, {
+ "active-timers": 104,
+ "first": 11160,
+ "middle": 11420,
+ "last": 14340
+ }, {
+ "active-timers": 130,
+ "first": 11160,
+ "middle": 11300,
+ "last": 14720
+ }, {
+ "active-timers": 162,
+ "first": 11460,
+ "middle": 11380,
+ "last": 14880
+ }, {
+ "active-timers": 201,
+ "first": 11500,
+ "middle": 11880,
+ "last": 17060
+ }, {
+ "active-timers": 249,
+ "first": 11580,
+ "middle": 11800,
+ "last": 16900
+ }, {
+ "active-timers": 308,
+ "first": 11380,
+ "middle": 12060,
+ "last": 15640
+ }, {
+ "active-timers": 381,
+ "first": 11760,
+ "middle": 11840,
+ "last": 19800
+ }, {
+ "active-timers": 470,
+ "first": 11880,
+ "middle": 12180,
+ "last": 16100
+ }, {
+ "active-timers": 580,
+ "first": 11760,
+ "middle": 12600,
+ "last": 16560
+ }, {
+ "active-timers": 715,
+ "first": 12140,
+ "middle": 12220,
+ "last": 17380
+ }, {
+ "active-timers": 881,
+ "first": 12260,
+ "middle": 12640,
+ "last": 18740
+ }, {
+ "active-timers": 1085,
+ "first": 12140,
+ "middle": 12560,
+ "last": 22320
+ }, {
+ "active-timers": 1336,
+ "first": 12720,
+ "middle": 12600,
+ "last": 17240
+ }, {
+ "active-timers": 1645,
+ "first": 12560,
+ "middle": 13020,
+ "last": 21140
+ }, {
+ "active-timers": 2025,
+ "first": 12720,
+ "middle": 12980,
+ "last": 19500
+ }, {
+ "active-timers": 2492,
+ "first": 12720,
+ "middle": 13400,
+ "last": 18160
+ }, {
+ "active-timers": 3067,
+ "first": 13060,
+ "middle": 13060,
+ "last": 19220
+ }, {
+ "active-timers": 3774,
+ "first": 12980,
+ "middle": 13560,
+ "last": 18620
+ }, {
+ "active-timers": 4644,
+ "first": 13260,
+ "middle": 13860,
+ "last": 18920
+ }, {
+ "active-timers": 5714,
+ "first": 13440,
+ "middle": 13520,
+ "last": 18920
+ }, {
+ "active-timers": 7030,
+ "first": 13440,
+ "middle": 13900,
+ "last": 19380
+ }, {
+ "active-timers": 8649,
+ "first": 13440,
+ "middle": 13820,
+ "last": 21640
+ }, {
+ "active-timers": 10640,
+ "first": 14020,
+ "middle": 13940,
+ "last": 19760
+ }, {
+ "active-timers": 13089,
+ "first": 13940,
+ "middle": 14160,
+ "last": 22100
+ }, {
+ "active-timers": 16101,
+ "first": 13900,
+ "middle": 14320,
+ "last": 22680
+ }, {
+ "active-timers": 19806,
+ "first": 13900,
+ "middle": 14700,
+ "last": 20840
+ }, {
+ "active-timers": 24363,
+ "first": 14360,
+ "middle": 14320,
+ "last": 21660
+ }, {
+ "active-timers": 29968,
+ "first": 14360,
+ "middle": 14540,
+ "last": 21300
+ }, {
+ "active-timers": 36862,
+ "first": 14360,
+ "middle": 15320,
+ "last": 21440
+ }, {
+ "active-timers": 45342,
+ "first": 14580,
+ "middle": 14700,
+ "last": 21600
+ }, {
+ "active-timers": 55772,
+ "first": 14700,
+ "middle": 15040,
+ "last": 22060
+ }, {
+ "active-timers": 61023,
+ "first": 14780,
+ "middle": 15080,
+ "last": 22960
+ }
+ ]
+}
+*** END OF JSON DATA ***
+
+*** END OF TEST TMTIMER 1 ***
+
+cpu 0 in error mode (tt = 0x80)
+ 522750200 00009b40: 91d02000 ta 0x0