diff options
Diffstat (limited to 'testsuites/tmtests')
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 |