summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/smptests')
-rw-r--r--testsuites/smptests/smp01/init.c25
-rw-r--r--testsuites/smptests/smp01/smp01.doc25
-rw-r--r--testsuites/smptests/smp01/system.h25
-rw-r--r--testsuites/smptests/smp01/tasks.c25
-rw-r--r--testsuites/smptests/smp02/init.c25
-rw-r--r--testsuites/smptests/smp02/smp02.doc25
-rw-r--r--testsuites/smptests/smp02/system.h25
-rw-r--r--testsuites/smptests/smp02/tasks.c25
-rw-r--r--testsuites/smptests/smp03/init.c25
-rw-r--r--testsuites/smptests/smp03/smp03.doc25
-rw-r--r--testsuites/smptests/smp03/system.h25
-rw-r--r--testsuites/smptests/smp03/tasks.c25
-rw-r--r--testsuites/smptests/smp05/init.c33
-rw-r--r--testsuites/smptests/smp05/smp05.doc25
-rw-r--r--testsuites/smptests/smp07/init.c29
-rw-r--r--testsuites/smptests/smp07/smp07.doc25
-rw-r--r--testsuites/smptests/smp08/init.c25
-rw-r--r--testsuites/smptests/smp08/smp08.doc25
-rw-r--r--testsuites/smptests/smp08/system.h25
-rw-r--r--testsuites/smptests/smp08/tasks.c33
-rw-r--r--testsuites/smptests/smp09/init.c25
-rw-r--r--testsuites/smptests/smp09/smp09.doc25
-rw-r--r--testsuites/smptests/smpaffinity01/init.c25
-rw-r--r--testsuites/smptests/smpaffinity01/smpaffinity01.doc25
-rw-r--r--testsuites/smptests/smpatomic01/init.c8
-rw-r--r--testsuites/smptests/smpcache01/init.c27
-rw-r--r--testsuites/smptests/smpcapture01/init.c25
-rw-r--r--testsuites/smptests/smpcapture02/init.c25
-rw-r--r--testsuites/smptests/smpclock01/init.c31
-rw-r--r--testsuites/smptests/smpfatal01/init.c31
-rw-r--r--testsuites/smptests/smpfatal02/init.c31
-rw-r--r--testsuites/smptests/smpfatal03/init.c8
-rw-r--r--testsuites/smptests/smpfatal04/init.c31
-rw-r--r--testsuites/smptests/smpfatal05/init.c31
-rw-r--r--testsuites/smptests/smpfatal06/init.c31
-rw-r--r--testsuites/smptests/smpfatal08/init.c31
-rw-r--r--testsuites/smptests/smpfatal09/init.c2
-rw-r--r--testsuites/smptests/smpipi01/init.c79
-rw-r--r--testsuites/smptests/smpirqs01/init.c2
-rw-r--r--testsuites/smptests/smpload01/init.c31
-rw-r--r--testsuites/smptests/smplock01/init.c144
-rw-r--r--testsuites/smptests/smplock01/smplock01.scn2811
-rwxr-xr-xtestsuites/smptests/smplock01/smplock01fair.py118
-rwxr-xr-xtestsuites/smptests/smplock01/smplock01perf.py91
-rw-r--r--testsuites/smptests/smpmigration01/init.c31
-rw-r--r--testsuites/smptests/smpmigration02/init.c31
-rw-r--r--testsuites/smptests/smpmrsp01/init.c31
-rw-r--r--testsuites/smptests/smpmulticast01/init.c20
-rw-r--r--testsuites/smptests/smpmutex01/init.c31
-rw-r--r--testsuites/smptests/smpmutex02/init.c31
-rw-r--r--testsuites/smptests/smpopenmp01/init.c42
-rw-r--r--testsuites/smptests/smpopenmp01/smpopenmp01.py92
-rw-r--r--testsuites/smptests/smpopenmp01/smpopenmp01.scn137
-rw-r--r--testsuites/smptests/smppsxaffinity01/init.c25
-rw-r--r--testsuites/smptests/smppsxaffinity01/smppsxaffinity01.doc25
-rw-r--r--testsuites/smptests/smppsxaffinity02/init.c25
-rw-r--r--testsuites/smptests/smppsxaffinity02/smppsxaffinity02.doc25
-rw-r--r--testsuites/smptests/smppsxmutex01/init.c64
-rw-r--r--testsuites/smptests/smppsxsignal01/init.c31
-rw-r--r--testsuites/smptests/smpschedaffinity01/init.c25
-rw-r--r--testsuites/smptests/smpschedaffinity02/init.c25
-rw-r--r--testsuites/smptests/smpschedaffinity03/init.c25
-rw-r--r--testsuites/smptests/smpschedaffinity04/init.c25
-rw-r--r--testsuites/smptests/smpschedaffinity05/init.c25
-rw-r--r--testsuites/smptests/smpschededf01/init.c31
-rw-r--r--testsuites/smptests/smpschededf02/init.c31
-rw-r--r--testsuites/smptests/smpschededf03/init.c31
-rw-r--r--testsuites/smptests/smpschededf04/init.c31
-rw-r--r--testsuites/smptests/smpschedsem01/init.c25
-rw-r--r--testsuites/smptests/smpscheduler01/init.c31
-rw-r--r--testsuites/smptests/smpscheduler02/init.c31
-rw-r--r--testsuites/smptests/smpscheduler03/init.c31
-rw-r--r--testsuites/smptests/smpscheduler03/test.c31
-rw-r--r--testsuites/smptests/smpscheduler04/init.c31
-rw-r--r--testsuites/smptests/smpscheduler05/init.c31
-rw-r--r--testsuites/smptests/smpscheduler06/init.c31
-rw-r--r--testsuites/smptests/smpscheduler07/init.c31
-rw-r--r--testsuites/smptests/smpsignal01/init.c31
-rw-r--r--testsuites/smptests/smpstart01/init.c155
-rw-r--r--testsuites/smptests/smpstart01/smpstart01.doc12
-rw-r--r--testsuites/smptests/smpstrongapa01/init.c31
-rw-r--r--testsuites/smptests/smpswitchextension01/init.c31
-rw-r--r--testsuites/smptests/smpthreadlife01/init.c31
-rw-r--r--testsuites/smptests/smpthreadpin01/init.c31
-rw-r--r--testsuites/smptests/smpunsupported01/init.c31
-rw-r--r--testsuites/smptests/smpwakeafter01/init.c31
86 files changed, 2447 insertions, 3308 deletions
diff --git a/testsuites/smptests/smp01/init.c b/testsuites/smptests/smp01/init.c
index cbfd205010..a0f75d51c0 100644
--- a/testsuites/smptests/smp01/init.c
+++ b/testsuites/smptests/smp01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp01/smp01.doc b/testsuites/smptests/smp01/smp01.doc
index e3bed542d7..4cfb25e2fa 100644
--- a/testsuites/smptests/smp01/smp01.doc
+++ b/testsuites/smptests/smp01/smp01.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This is a simple test that verifies that each of the smp
diff --git a/testsuites/smptests/smp01/system.h b/testsuites/smptests/smp01/system.h
index c1019b6858..d4675589d0 100644
--- a/testsuites/smptests/smp01/system.h
+++ b/testsuites/smptests/smp01/system.h
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#include "tmacros.h"
diff --git a/testsuites/smptests/smp01/tasks.c b/testsuites/smptests/smp01/tasks.c
index ae75b718dc..a0d01cd22e 100644
--- a/testsuites/smptests/smp01/tasks.c
+++ b/testsuites/smptests/smp01/tasks.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp02/init.c b/testsuites/smptests/smp02/init.c
index f7ce857ee3..cfbea04ec7 100644
--- a/testsuites/smptests/smp02/init.c
+++ b/testsuites/smptests/smp02/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp02/smp02.doc b/testsuites/smptests/smp02/smp02.doc
index ba916d32dc..a197328dc2 100644
--- a/testsuites/smptests/smp02/smp02.doc
+++ b/testsuites/smptests/smp02/smp02.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This test creates tasks for each process (other than the
one that Init is running on). Then drops into a loop waiting
diff --git a/testsuites/smptests/smp02/system.h b/testsuites/smptests/smp02/system.h
index da69df9568..f010ad4e51 100644
--- a/testsuites/smptests/smp02/system.h
+++ b/testsuites/smptests/smp02/system.h
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#include "tmacros.h"
diff --git a/testsuites/smptests/smp02/tasks.c b/testsuites/smptests/smp02/tasks.c
index ff82d58826..85e4187465 100644
--- a/testsuites/smptests/smp02/tasks.c
+++ b/testsuites/smptests/smp02/tasks.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp03/init.c b/testsuites/smptests/smp03/init.c
index 9f5171128c..64968604f9 100644
--- a/testsuites/smptests/smp03/init.c
+++ b/testsuites/smptests/smp03/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp03/smp03.doc b/testsuites/smptests/smp03/smp03.doc
index b7c3bb2853..c032ca6c60 100644
--- a/testsuites/smptests/smp03/smp03.doc
+++ b/testsuites/smptests/smp03/smp03.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This test runs the init task on the first CPU at a priority
of 5. The Init task creates tasks for each remaining processor
diff --git a/testsuites/smptests/smp03/system.h b/testsuites/smptests/smp03/system.h
index a5bcd06b64..e4d81cd6e7 100644
--- a/testsuites/smptests/smp03/system.h
+++ b/testsuites/smptests/smp03/system.h
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#include "tmacros.h"
diff --git a/testsuites/smptests/smp03/tasks.c b/testsuites/smptests/smp03/tasks.c
index 8d5ac4af94..0852339279 100644
--- a/testsuites/smptests/smp03/tasks.c
+++ b/testsuites/smptests/smp03/tasks.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp05/init.c b/testsuites/smptests/smp05/init.c
index 75033ff5ae..eb6461f3bc 100644
--- a/testsuites/smptests/smp05/init.c
+++ b/testsuites/smptests/smp05/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -16,6 +35,8 @@
const char rtems_test_name[] = "SMP 5";
+static volatile bool init_task_done;
+
rtems_task Init(
rtems_task_argument argument
);
@@ -35,6 +56,10 @@ rtems_task Test_task(
rtems_task_argument argument
)
{
+ while (!init_task_done) {
+ /* Wait */
+ }
+
locked_printf( "Shut down from CPU %" PRIu32 "\n", rtems_scheduler_get_processor() );
success();
}
@@ -76,6 +101,8 @@ rtems_task Init(
directive_failed( status, "task start" );
}
+ init_task_done = true;
+
while (1)
;
}
diff --git a/testsuites/smptests/smp05/smp05.doc b/testsuites/smptests/smp05/smp05.doc
index 8132fa18d7..10e57b05b3 100644
--- a/testsuites/smptests/smp05/smp05.doc
+++ b/testsuites/smptests/smp05/smp05.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This file describes the directives and concepts tested by this test set.
diff --git a/testsuites/smptests/smp07/init.c b/testsuites/smptests/smp07/init.c
index c53642054c..7066720a47 100644
--- a/testsuites/smptests/smp07/init.c
+++ b/testsuites/smptests/smp07/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -59,8 +78,6 @@ rtems_task Test_task(
if ( !TSRFired )
locked_printf( "*** ERROR TSR DID NOT FIRE BUT TEST TASK AWAKE***" );
- TaskRan = true;
-
/* Print that the task is up and running. */
locked_printf(
" CPU %" PRIu32 " running Task %s after semaphore release\n",
@@ -68,6 +85,8 @@ rtems_task Test_task(
name
);
+ TaskRan = true;
+
rtems_task_exit();
}
diff --git a/testsuites/smptests/smp07/smp07.doc b/testsuites/smptests/smp07/smp07.doc
index 1132584f10..c9d021fa83 100644
--- a/testsuites/smptests/smp07/smp07.doc
+++ b/testsuites/smptests/smp07/smp07.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This file describes the directives and concepts tested by this test set.
diff --git a/testsuites/smptests/smp08/init.c b/testsuites/smptests/smp08/init.c
index 5c27a6a084..b165ad9e36 100644
--- a/testsuites/smptests/smp08/init.c
+++ b/testsuites/smptests/smp08/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp08/smp08.doc b/testsuites/smptests/smp08/smp08.doc
index a2feb9c45d..513dbc6036 100644
--- a/testsuites/smptests/smp08/smp08.doc
+++ b/testsuites/smptests/smp08/smp08.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
diff --git a/testsuites/smptests/smp08/system.h b/testsuites/smptests/smp08/system.h
index b0a8edfc87..22cbf620d2 100644
--- a/testsuites/smptests/smp08/system.h
+++ b/testsuites/smptests/smp08/system.h
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#include "tmacros.h"
diff --git a/testsuites/smptests/smp08/tasks.c b/testsuites/smptests/smp08/tasks.c
index 28271253b8..446c0d11da 100644
--- a/testsuites/smptests/smp08/tasks.c
+++ b/testsuites/smptests/smp08/tasks.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -35,8 +54,12 @@ rtems_task Test_task(
status = rtems_clock_get_tod( &time );
rtems_test_assert( status == RTEMS_SUCCESSFUL );
if ( time.second >= 35 ) {
- TEST_END();
- rtems_test_exit( 0 );
+ if ( task_index == 1 ) {
+ TEST_END();
+ rtems_test_exit( 0 );
+ } else {
+ rtems_task_exit();
+ }
}
PrintTaskInfo( p, &time );
diff --git a/testsuites/smptests/smp09/init.c b/testsuites/smptests/smp09/init.c
index ce8334bcd4..b469258778 100644
--- a/testsuites/smptests/smp09/init.c
+++ b/testsuites/smptests/smp09/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smp09/smp09.doc b/testsuites/smptests/smp09/smp09.doc
index 8836c94bc6..283234c858 100644
--- a/testsuites/smptests/smp09/smp09.doc
+++ b/testsuites/smptests/smp09/smp09.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2011.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This file describes the directives and concepts tested by this test set.
diff --git a/testsuites/smptests/smpaffinity01/init.c b/testsuites/smptests/smpaffinity01/init.c
index e0065bfcb0..1504388d29 100644
--- a/testsuites/smptests/smpaffinity01/init.c
+++ b/testsuites/smptests/smpaffinity01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpaffinity01/smpaffinity01.doc b/testsuites/smptests/smpaffinity01/smpaffinity01.doc
index fe6225ba62..c1f1c8518c 100644
--- a/testsuites/smptests/smpaffinity01/smpaffinity01.doc
+++ b/testsuites/smptests/smpaffinity01/smpaffinity01.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2014.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This file describes the directives and concepts tested by this test set.
diff --git a/testsuites/smptests/smpatomic01/init.c b/testsuites/smptests/smpatomic01/init.c
index ba2ec7baba..a10c3d5990 100644
--- a/testsuites/smptests/smpatomic01/init.c
+++ b/testsuites/smptests/smpatomic01/init.c
@@ -1,11 +1,5 @@
/*
- * Copyright (c) 2013, 2016 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Copyright (C) 2013, 2016 embedded brains GmbH & Co. KG
*
* Copyright (c) 2013 Deng Hengyi.
*
diff --git a/testsuites/smptests/smpcache01/init.c b/testsuites/smptests/smpcache01/init.c
index d3145d1de3..148a0fd9b7 100644
--- a/testsuites/smptests/smpcache01/init.c
+++ b/testsuites/smptests/smpcache01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* Copyright (c) 2014 Aeroflex Gaisler AB. All rights reserved.
- * Copyright (c) 2017 embedded brains GmbH.
+ * Copyright (c) 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
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpcapture01/init.c b/testsuites/smptests/smpcapture01/init.c
index 74e538559b..7e98dc49ab 100644
--- a/testsuites/smptests/smpcapture01/init.c
+++ b/testsuites/smptests/smpcapture01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpcapture02/init.c b/testsuites/smptests/smpcapture02/init.c
index 4b11e6bbd7..e15945cb91 100644
--- a/testsuites/smptests/smpcapture02/init.c
+++ b/testsuites/smptests/smpcapture02/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2015
* Cobham Gaisler
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpclock01/init.c b/testsuites/smptests/smpclock01/init.c
index 6d3ddb94c1..ffecf0ddaa 100644
--- a/testsuites/smptests/smpclock01/init.c
+++ b/testsuites/smptests/smpclock01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal01/init.c b/testsuites/smptests/smpfatal01/init.c
index 4b01763a92..21673521b9 100644
--- a/testsuites/smptests/smpfatal01/init.c
+++ b/testsuites/smptests/smpfatal01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal02/init.c b/testsuites/smptests/smpfatal02/init.c
index 5528a4315d..19299a730f 100644
--- a/testsuites/smptests/smpfatal02/init.c
+++ b/testsuites/smptests/smpfatal02/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014, 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2014, 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal03/init.c b/testsuites/smptests/smpfatal03/init.c
index 7eb681b9f9..ff42bd8b38 100644
--- a/testsuites/smptests/smpfatal03/init.c
+++ b/testsuites/smptests/smpfatal03/init.c
@@ -1,11 +1,5 @@
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
diff --git a/testsuites/smptests/smpfatal04/init.c b/testsuites/smptests/smpfatal04/init.c
index 92a2d84881..7674fde288 100644
--- a/testsuites/smptests/smpfatal04/init.c
+++ b/testsuites/smptests/smpfatal04/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal05/init.c b/testsuites/smptests/smpfatal05/init.c
index 511ce28209..ad9e32240f 100644
--- a/testsuites/smptests/smpfatal05/init.c
+++ b/testsuites/smptests/smpfatal05/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal06/init.c b/testsuites/smptests/smpfatal06/init.c
index d18a31b858..b48664f253 100644
--- a/testsuites/smptests/smpfatal06/init.c
+++ b/testsuites/smptests/smpfatal06/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal08/init.c b/testsuites/smptests/smpfatal08/init.c
index 0964a6047c..6ad59f204b 100644
--- a/testsuites/smptests/smpfatal08/init.c
+++ b/testsuites/smptests/smpfatal08/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpfatal09/init.c b/testsuites/smptests/smpfatal09/init.c
index dfdd11d84c..6caca32c82 100644
--- a/testsuites/smptests/smpfatal09/init.c
+++ b/testsuites/smptests/smpfatal09/init.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: BSD-2-Clause
*
- * Copyright (C) 2018 embedded brains GmbH
+ * 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/smptests/smpipi01/init.c b/testsuites/smptests/smpipi01/init.c
index 5f992f8de1..f8172fed96 100644
--- a/testsuites/smptests/smpipi01/init.c
+++ b/testsuites/smptests/smpipi01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014, 2019 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2014, 2019 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -185,6 +198,43 @@ static const Per_CPU_Job_context counter_1_job_context = {
.arg = &test_instance
};
+static void sync_handler(void *arg)
+{
+ test_context *ctx = arg;
+ SMP_barrier_State *bs = &ctx->worker_barrier_state;
+
+ /* (E) */
+ barrier(ctx, bs);
+}
+
+static const Per_CPU_Job_context sync_context = {
+ .handler = sync_handler,
+ .arg = &test_instance
+};
+
+static void wait_for_ipi_done(test_context *ctx, Per_CPU_Control *cpu)
+{
+ Per_CPU_Job job;
+ unsigned long done;
+
+ job.context = &sync_context;
+ _Per_CPU_Submit_job(cpu, &job);
+
+ while (cpu->isr_nest_level == 0) {
+ RTEMS_COMPILER_MEMORY_BARRIER();
+ }
+
+ /* (E) */
+ barrier(ctx, &ctx->main_barrier_state);
+
+ while (cpu->isr_nest_level != 0) {
+ RTEMS_COMPILER_MEMORY_BARRIER();
+ }
+
+ done = _Atomic_Load_ulong( &job.done, ATOMIC_ORDER_ACQUIRE );
+ rtems_test_assert( done == PER_CPU_JOB_DONE );
+}
+
static void test_send_message_flood(
test_context *ctx,
uint32_t cpu_count
@@ -198,20 +248,15 @@ static void test_send_message_flood(
ctx->jobs[cpu_index][0].context = &counter_0_job_context;
ctx->jobs[cpu_index][1].context = &counter_1_job_context;
- _Per_CPU_Submit_job(cpu, &ctx->jobs[cpu_index][0]);
+ _Per_CPU_Add_job(cpu, &ctx->jobs[cpu_index][0]);
}
for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
Per_CPU_Control *cpu;
- Per_CPU_Control *cpu_self;
uint32_t i;
cpu = _Per_CPU_Get_by_index(cpu_index);
- cpu_self = _Thread_Dispatch_disable();
- _SMP_Synchronize();
- _Thread_Dispatch_enable(cpu_self);
-
for (i = 0; i < cpu_count; ++i) {
if (i != cpu_index) {
ctx->copy_counters[i] = ctx->counters[i].value;
@@ -222,6 +267,10 @@ static void test_send_message_flood(
_SMP_Send_message(cpu, SMP_MESSAGE_PERFORM_JOBS);
}
+ if (cpu_index != cpu_index_self) {
+ wait_for_ipi_done(ctx, cpu);
+ }
+
for (i = 0; i < cpu_count; ++i) {
if (i != cpu_index) {
rtems_test_assert(ctx->copy_counters[i] == ctx->counters[i].value);
diff --git a/testsuites/smptests/smpirqs01/init.c b/testsuites/smptests/smpirqs01/init.c
index 03238227fd..7404c77418 100644
--- a/testsuites/smptests/smpirqs01/init.c
+++ b/testsuites/smptests/smpirqs01/init.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2020 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/smptests/smpload01/init.c b/testsuites/smptests/smpload01/init.c
index 1ca5a80773..5fb26acff9 100644
--- a/testsuites/smptests/smpload01/init.c
+++ b/testsuites/smptests/smpload01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smplock01/init.c b/testsuites/smptests/smplock01/init.c
index 1c33911732..2defa2b5c0 100644
--- a/testsuites/smptests/smplock01/init.c
+++ b/testsuites/smptests/smplock01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013, 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2024 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -34,6 +47,8 @@ const char rtems_test_name[] = "SMPLOCK 1";
typedef struct {
rtems_test_parallel_context base;
+ const char *test_sep;
+ const char *counter_sep;
unsigned long counter[TEST_COUNT];
unsigned long local_counter[CPU_COUNT][TEST_COUNT][CPU_COUNT];
SMP_lock_Control lock RTEMS_ALIGNED(CPU_CACHE_LINE_BYTES);
@@ -71,40 +86,69 @@ static rtems_interval test_init(
return test_duration();
}
+static const rtems_test_parallel_job test_jobs[TEST_COUNT];
+
static void test_fini(
test_context *ctx,
- const char *name,
+ const char *lock_type,
+ bool global_lock,
+ const char *section_type,
size_t test,
size_t active_workers
)
{
+ bool cascade = test_jobs[test].cascade;
unsigned long sum = 0;
- unsigned long n = active_workers;
- unsigned long i;
+ const char *value_sep;
+ size_t i;
- printf(" <%s activeWorker=\"%lu\">\n", name, n);
+ if (active_workers == 1 || !cascade) {
+ printf(
+ "%s{\n"
+ " \"lock-type\": \"%s\",\n"
+ " \"lock-object\": \"%s\",\n"
+ " \"section-type\": \"%s\",\n"
+ " \"results\": [",
+ ctx->test_sep,
+ lock_type,
+ global_lock ? "global" : "local",
+ section_type
+ );
+ ctx->test_sep = ", ";
+ ctx->counter_sep = "\n ";
+ }
- for (i = 0; i < n; ++i) {
+ printf(
+ "%s{\n"
+ " \"counter\": [", ctx->counter_sep);
+ ctx->counter_sep = "\n }, ";
+ value_sep = "";
+
+ for (i = 0; i < active_workers; ++i) {
unsigned long local_counter =
ctx->local_counter[active_workers - 1][test][i];
sum += local_counter;
printf(
- " <LocalCounter worker=\"%lu\">%lu</LocalCounter>\n",
- i,
+ "%s%lu",
+ value_sep,
local_counter
);
+ value_sep = ", ";
}
printf(
- " <GlobalCounter>%lu</GlobalCounter>\n"
- " <SumOfLocalCounter>%lu</SumOfLocalCounter>\n"
- " </%s>\n",
+ "],\n"
+ " \"global-counter\": %lu,\n"
+ " \"sum-of-local-counter\": %lu",
ctx->counter[test],
- sum,
- name
+ sum
);
+
+ if (active_workers == rtems_scheduler_get_processor_maximum() || !cascade) {
+ printf("\n }\n ]\n }");
+ }
}
static void test_0_body(
@@ -138,7 +182,9 @@ static void test_0_fini(
test_fini(
ctx,
- "GlobalTicketLockWithLocalCounter",
+ "Ticket Lock",
+ true,
+ "local counter",
0,
active_workers
);
@@ -175,7 +221,9 @@ static void test_1_fini(
test_fini(
ctx,
- "GlobalMCSLockWithLocalCounter",
+ "MCS Lock",
+ true,
+ "local counter",
1,
active_workers
);
@@ -213,7 +261,9 @@ static void test_2_fini(
test_fini(
ctx,
- "GlobalTicketLockWithGlobalCounter",
+ "Ticket Lock",
+ true,
+ "global counter",
2,
active_workers
);
@@ -251,7 +301,9 @@ static void test_3_fini(
test_fini(
ctx,
- "GlobalMCSLockWithGlobalCounter",
+ "MCS Lock",
+ true,
+ "global counter",
3,
active_workers
);
@@ -293,7 +345,9 @@ static void test_4_fini(
test_fini(
ctx,
- "LocalTicketLockWithLocalCounter",
+ "Ticket Lock",
+ false,
+ "local counter",
4,
active_workers
);
@@ -340,7 +394,9 @@ static void test_5_fini(
test_fini(
ctx,
- "LocalMCSLockWithLocalCounter",
+ "MCS Lock",
+ false,
+ "local counter",
5,
active_workers
);
@@ -386,7 +442,9 @@ static void test_6_fini(
test_fini(
ctx,
- "LocalTicketLockWithGlobalCounter",
+ "Ticket Lock",
+ false,
+ "global counter",
6,
active_workers
);
@@ -437,7 +495,9 @@ static void test_7_fini(
test_fini(
ctx,
- "LocalMCSLockWithGlobalCounter",
+ "MCS Lock",
+ false,
+ "global counter",
7,
active_workers
);
@@ -484,7 +544,9 @@ static void test_8_fini(
test_fini(
ctx,
- "GlobalTicketLockWithBusySection",
+ "Ticket Lock",
+ true,
+ "busy loop",
8,
active_workers
);
@@ -522,7 +584,9 @@ static void test_9_fini(
test_fini(
ctx,
- "GlobalMCSLockWithBusySection",
+ "MCS Lock",
+ true,
+ "busy loop",
9,
active_workers
);
@@ -582,7 +646,9 @@ static void test_10_fini(
test_fini(
ctx,
- "SequenceLock",
+ "Sequence Lock",
+ true,
+ "two global counter",
10,
active_workers
);
@@ -621,7 +687,9 @@ static void test_11_fini(
test_fini(
ctx,
- "GlobalTASLockWithLocalCounter",
+ "TAS Lock",
+ true,
+ "local counter",
11,
active_workers
);
@@ -662,7 +730,9 @@ static void test_12_fini(
test_fini(
ctx,
- "GlobalTTASLockWithLocalCounter",
+ "TTAS Lock",
+ true,
+ "local counter",
12,
active_workers
);
@@ -740,11 +810,11 @@ static const rtems_test_parallel_job test_jobs[TEST_COUNT] = {
static void test(void)
{
test_context *ctx = &test_instance;
- const char *test = "SMPLock01";
- printf("<%s>\n", test);
+ printf("*** BEGIN OF JSON DATA ***\n[\n ");
+ ctx->test_sep = "";
rtems_test_parallel(&ctx->base, NULL, &test_jobs[0], TEST_COUNT);
- printf("</%s>\n", test);
+ printf("\n]\n*** END OF JSON DATA ***\n");
}
static void Init(rtems_task_argument arg)
diff --git a/testsuites/smptests/smplock01/smplock01.scn b/testsuites/smptests/smplock01/smplock01.scn
index 3d4b90f507..1d2e3c98e1 100644
--- a/testsuites/smptests/smplock01/smplock01.scn
+++ b/testsuites/smptests/smplock01/smplock01.scn
@@ -1,2576 +1,239 @@
+
+ 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/smptests/smplock01.exe, entry 0x00000000
+
+
*** BEGIN OF TEST SMPLOCK 1 ***
-<SMPLock01>
- <GlobalTicketLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">18357037</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18357037</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">10121166</LocalCounter>
- <LocalCounter worker="1">10121320</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>20242486</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">5707325</LocalCounter>
- <LocalCounter worker="1">5707356</LocalCounter>
- <LocalCounter worker="2">5707357</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>17122038</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">4194779</LocalCounter>
- <LocalCounter worker="1">4194794</LocalCounter>
- <LocalCounter worker="2">4194790</LocalCounter>
- <LocalCounter worker="3">4194794</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>16779157</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">3328106</LocalCounter>
- <LocalCounter worker="1">3328112</LocalCounter>
- <LocalCounter worker="2">3328107</LocalCounter>
- <LocalCounter worker="3">3328109</LocalCounter>
- <LocalCounter worker="4">3328114</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>16640548</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">2719456</LocalCounter>
- <LocalCounter worker="1">2719464</LocalCounter>
- <LocalCounter worker="2">2719465</LocalCounter>
- <LocalCounter worker="3">2719465</LocalCounter>
- <LocalCounter worker="4">2719465</LocalCounter>
- <LocalCounter worker="5">2719464</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>16316779</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">2281694</LocalCounter>
- <LocalCounter worker="1">2281698</LocalCounter>
- <LocalCounter worker="2">2281695</LocalCounter>
- <LocalCounter worker="3">2281700</LocalCounter>
- <LocalCounter worker="4">2281700</LocalCounter>
- <LocalCounter worker="5">2281697</LocalCounter>
- <LocalCounter worker="6">2281699</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>15971883</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">1973749</LocalCounter>
- <LocalCounter worker="1">1973751</LocalCounter>
- <LocalCounter worker="2">1973749</LocalCounter>
- <LocalCounter worker="3">1973754</LocalCounter>
- <LocalCounter worker="4">1973753</LocalCounter>
- <LocalCounter worker="5">1973751</LocalCounter>
- <LocalCounter worker="6">1973749</LocalCounter>
- <LocalCounter worker="7">1973749</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>15790005</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">531562</LocalCounter>
- <LocalCounter worker="1">531561</LocalCounter>
- <LocalCounter worker="2">531558</LocalCounter>
- <LocalCounter worker="3">531556</LocalCounter>
- <LocalCounter worker="4">531562</LocalCounter>
- <LocalCounter worker="5">531566</LocalCounter>
- <LocalCounter worker="6">531561</LocalCounter>
- <LocalCounter worker="7">531560</LocalCounter>
- <LocalCounter worker="8">531589</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4784075</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">467120</LocalCounter>
- <LocalCounter worker="1">467127</LocalCounter>
- <LocalCounter worker="2">467117</LocalCounter>
- <LocalCounter worker="3">467120</LocalCounter>
- <LocalCounter worker="4">467123</LocalCounter>
- <LocalCounter worker="5">467116</LocalCounter>
- <LocalCounter worker="6">467122</LocalCounter>
- <LocalCounter worker="7">467116</LocalCounter>
- <LocalCounter worker="8">467180</LocalCounter>
- <LocalCounter worker="9">467179</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4671320</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">426740</LocalCounter>
- <LocalCounter worker="1">426739</LocalCounter>
- <LocalCounter worker="2">426742</LocalCounter>
- <LocalCounter worker="3">426737</LocalCounter>
- <LocalCounter worker="4">426740</LocalCounter>
- <LocalCounter worker="5">426741</LocalCounter>
- <LocalCounter worker="6">426747</LocalCounter>
- <LocalCounter worker="7">426735</LocalCounter>
- <LocalCounter worker="8">426768</LocalCounter>
- <LocalCounter worker="9">426765</LocalCounter>
- <LocalCounter worker="10">426767</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4694221</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">388705</LocalCounter>
- <LocalCounter worker="1">388703</LocalCounter>
- <LocalCounter worker="2">388710</LocalCounter>
- <LocalCounter worker="3">388706</LocalCounter>
- <LocalCounter worker="4">388701</LocalCounter>
- <LocalCounter worker="5">388702</LocalCounter>
- <LocalCounter worker="6">388702</LocalCounter>
- <LocalCounter worker="7">388705</LocalCounter>
- <LocalCounter worker="8">388740</LocalCounter>
- <LocalCounter worker="9">388739</LocalCounter>
- <LocalCounter worker="10">388740</LocalCounter>
- <LocalCounter worker="11">388739</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4664592</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">356920</LocalCounter>
- <LocalCounter worker="1">356917</LocalCounter>
- <LocalCounter worker="2">356916</LocalCounter>
- <LocalCounter worker="3">356917</LocalCounter>
- <LocalCounter worker="4">356920</LocalCounter>
- <LocalCounter worker="5">356919</LocalCounter>
- <LocalCounter worker="6">356920</LocalCounter>
- <LocalCounter worker="7">356917</LocalCounter>
- <LocalCounter worker="8">356948</LocalCounter>
- <LocalCounter worker="9">356947</LocalCounter>
- <LocalCounter worker="10">356948</LocalCounter>
- <LocalCounter worker="11">356947</LocalCounter>
- <LocalCounter worker="12">356953</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4640089</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">330192</LocalCounter>
- <LocalCounter worker="1">330192</LocalCounter>
- <LocalCounter worker="2">330186</LocalCounter>
- <LocalCounter worker="3">330185</LocalCounter>
- <LocalCounter worker="4">330190</LocalCounter>
- <LocalCounter worker="5">330183</LocalCounter>
- <LocalCounter worker="6">330187</LocalCounter>
- <LocalCounter worker="7">330187</LocalCounter>
- <LocalCounter worker="8">330226</LocalCounter>
- <LocalCounter worker="9">330225</LocalCounter>
- <LocalCounter worker="10">330225</LocalCounter>
- <LocalCounter worker="11">330228</LocalCounter>
- <LocalCounter worker="12">330225</LocalCounter>
- <LocalCounter worker="13">330226</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4622857</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">303180</LocalCounter>
- <LocalCounter worker="1">303186</LocalCounter>
- <LocalCounter worker="2">303190</LocalCounter>
- <LocalCounter worker="3">303180</LocalCounter>
- <LocalCounter worker="4">303188</LocalCounter>
- <LocalCounter worker="5">303181</LocalCounter>
- <LocalCounter worker="6">303183</LocalCounter>
- <LocalCounter worker="7">303191</LocalCounter>
- <LocalCounter worker="8">303199</LocalCounter>
- <LocalCounter worker="9">303204</LocalCounter>
- <LocalCounter worker="10">303209</LocalCounter>
- <LocalCounter worker="11">303207</LocalCounter>
- <LocalCounter worker="12">303212</LocalCounter>
- <LocalCounter worker="13">303215</LocalCounter>
- <LocalCounter worker="14">303217</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4547942</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">274980</LocalCounter>
- <LocalCounter worker="1">274975</LocalCounter>
- <LocalCounter worker="2">274979</LocalCounter>
- <LocalCounter worker="3">274983</LocalCounter>
- <LocalCounter worker="4">274979</LocalCounter>
- <LocalCounter worker="5">274977</LocalCounter>
- <LocalCounter worker="6">274974</LocalCounter>
- <LocalCounter worker="7">274980</LocalCounter>
- <LocalCounter worker="8">274977</LocalCounter>
- <LocalCounter worker="9">274984</LocalCounter>
- <LocalCounter worker="10">274983</LocalCounter>
- <LocalCounter worker="11">274981</LocalCounter>
- <LocalCounter worker="12">274982</LocalCounter>
- <LocalCounter worker="13">274978</LocalCounter>
- <LocalCounter worker="14">274980</LocalCounter>
- <LocalCounter worker="15">274977</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4399669</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">261695</LocalCounter>
- <LocalCounter worker="1">261697</LocalCounter>
- <LocalCounter worker="2">261696</LocalCounter>
- <LocalCounter worker="3">261696</LocalCounter>
- <LocalCounter worker="4">261694</LocalCounter>
- <LocalCounter worker="5">261695</LocalCounter>
- <LocalCounter worker="6">261697</LocalCounter>
- <LocalCounter worker="7">261692</LocalCounter>
- <LocalCounter worker="8">261696</LocalCounter>
- <LocalCounter worker="9">261692</LocalCounter>
- <LocalCounter worker="10">261696</LocalCounter>
- <LocalCounter worker="11">261697</LocalCounter>
- <LocalCounter worker="12">261697</LocalCounter>
- <LocalCounter worker="13">261695</LocalCounter>
- <LocalCounter worker="14">261692</LocalCounter>
- <LocalCounter worker="15">261691</LocalCounter>
- <LocalCounter worker="16">261708</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4448826</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">240007</LocalCounter>
- <LocalCounter worker="1">240008</LocalCounter>
- <LocalCounter worker="2">240007</LocalCounter>
- <LocalCounter worker="3">240008</LocalCounter>
- <LocalCounter worker="4">240010</LocalCounter>
- <LocalCounter worker="5">240007</LocalCounter>
- <LocalCounter worker="6">240006</LocalCounter>
- <LocalCounter worker="7">240008</LocalCounter>
- <LocalCounter worker="8">240008</LocalCounter>
- <LocalCounter worker="9">240007</LocalCounter>
- <LocalCounter worker="10">240010</LocalCounter>
- <LocalCounter worker="11">240007</LocalCounter>
- <LocalCounter worker="12">240010</LocalCounter>
- <LocalCounter worker="13">240007</LocalCounter>
- <LocalCounter worker="14">240007</LocalCounter>
- <LocalCounter worker="15">240010</LocalCounter>
- <LocalCounter worker="16">240020</LocalCounter>
- <LocalCounter worker="17">240017</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4320164</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">225896</LocalCounter>
- <LocalCounter worker="1">225897</LocalCounter>
- <LocalCounter worker="2">225897</LocalCounter>
- <LocalCounter worker="3">225898</LocalCounter>
- <LocalCounter worker="4">225899</LocalCounter>
- <LocalCounter worker="5">225898</LocalCounter>
- <LocalCounter worker="6">225898</LocalCounter>
- <LocalCounter worker="7">225896</LocalCounter>
- <LocalCounter worker="8">225896</LocalCounter>
- <LocalCounter worker="9">225896</LocalCounter>
- <LocalCounter worker="10">225897</LocalCounter>
- <LocalCounter worker="11">225898</LocalCounter>
- <LocalCounter worker="12">225900</LocalCounter>
- <LocalCounter worker="13">225899</LocalCounter>
- <LocalCounter worker="14">225895</LocalCounter>
- <LocalCounter worker="15">225894</LocalCounter>
- <LocalCounter worker="16">225906</LocalCounter>
- <LocalCounter worker="17">225905</LocalCounter>
- <LocalCounter worker="18">225907</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4292072</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">214338</LocalCounter>
- <LocalCounter worker="1">214338</LocalCounter>
- <LocalCounter worker="2">214338</LocalCounter>
- <LocalCounter worker="3">214336</LocalCounter>
- <LocalCounter worker="4">214338</LocalCounter>
- <LocalCounter worker="5">214337</LocalCounter>
- <LocalCounter worker="6">214335</LocalCounter>
- <LocalCounter worker="7">214337</LocalCounter>
- <LocalCounter worker="8">214338</LocalCounter>
- <LocalCounter worker="9">214337</LocalCounter>
- <LocalCounter worker="10">214337</LocalCounter>
- <LocalCounter worker="11">214338</LocalCounter>
- <LocalCounter worker="12">214337</LocalCounter>
- <LocalCounter worker="13">214337</LocalCounter>
- <LocalCounter worker="14">214339</LocalCounter>
- <LocalCounter worker="15">214338</LocalCounter>
- <LocalCounter worker="16">214343</LocalCounter>
- <LocalCounter worker="17">214343</LocalCounter>
- <LocalCounter worker="18">214345</LocalCounter>
- <LocalCounter worker="19">214345</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4286774</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">198227</LocalCounter>
- <LocalCounter worker="1">198229</LocalCounter>
- <LocalCounter worker="2">198227</LocalCounter>
- <LocalCounter worker="3">198228</LocalCounter>
- <LocalCounter worker="4">198228</LocalCounter>
- <LocalCounter worker="5">198229</LocalCounter>
- <LocalCounter worker="6">198229</LocalCounter>
- <LocalCounter worker="7">198228</LocalCounter>
- <LocalCounter worker="8">198227</LocalCounter>
- <LocalCounter worker="9">198230</LocalCounter>
- <LocalCounter worker="10">198227</LocalCounter>
- <LocalCounter worker="11">198228</LocalCounter>
- <LocalCounter worker="12">198229</LocalCounter>
- <LocalCounter worker="13">198230</LocalCounter>
- <LocalCounter worker="14">198228</LocalCounter>
- <LocalCounter worker="15">198230</LocalCounter>
- <LocalCounter worker="16">198231</LocalCounter>
- <LocalCounter worker="17">198232</LocalCounter>
- <LocalCounter worker="18">198233</LocalCounter>
- <LocalCounter worker="19">198233</LocalCounter>
- <LocalCounter worker="20">198232</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4162815</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">192321</LocalCounter>
- <LocalCounter worker="1">192322</LocalCounter>
- <LocalCounter worker="2">192322</LocalCounter>
- <LocalCounter worker="3">192323</LocalCounter>
- <LocalCounter worker="4">192325</LocalCounter>
- <LocalCounter worker="5">192324</LocalCounter>
- <LocalCounter worker="6">192323</LocalCounter>
- <LocalCounter worker="7">192324</LocalCounter>
- <LocalCounter worker="8">192325</LocalCounter>
- <LocalCounter worker="9">192325</LocalCounter>
- <LocalCounter worker="10">192323</LocalCounter>
- <LocalCounter worker="11">192323</LocalCounter>
- <LocalCounter worker="12">192323</LocalCounter>
- <LocalCounter worker="13">192323</LocalCounter>
- <LocalCounter worker="14">192324</LocalCounter>
- <LocalCounter worker="15">192324</LocalCounter>
- <LocalCounter worker="16">192329</LocalCounter>
- <LocalCounter worker="17">192326</LocalCounter>
- <LocalCounter worker="18">192325</LocalCounter>
- <LocalCounter worker="19">192329</LocalCounter>
- <LocalCounter worker="20">192326</LocalCounter>
- <LocalCounter worker="21">192327</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4231136</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">177893</LocalCounter>
- <LocalCounter worker="1">177892</LocalCounter>
- <LocalCounter worker="2">177895</LocalCounter>
- <LocalCounter worker="3">177894</LocalCounter>
- <LocalCounter worker="4">177892</LocalCounter>
- <LocalCounter worker="5">177891</LocalCounter>
- <LocalCounter worker="6">177893</LocalCounter>
- <LocalCounter worker="7">177893</LocalCounter>
- <LocalCounter worker="8">177893</LocalCounter>
- <LocalCounter worker="9">177893</LocalCounter>
- <LocalCounter worker="10">177894</LocalCounter>
- <LocalCounter worker="11">177894</LocalCounter>
- <LocalCounter worker="12">177893</LocalCounter>
- <LocalCounter worker="13">177893</LocalCounter>
- <LocalCounter worker="14">177894</LocalCounter>
- <LocalCounter worker="15">177894</LocalCounter>
- <LocalCounter worker="16">177895</LocalCounter>
- <LocalCounter worker="17">177895</LocalCounter>
- <LocalCounter worker="18">177896</LocalCounter>
- <LocalCounter worker="19">177897</LocalCounter>
- <LocalCounter worker="20">177894</LocalCounter>
- <LocalCounter worker="21">177896</LocalCounter>
- <LocalCounter worker="22">177894</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4091558</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalTicketLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">168726</LocalCounter>
- <LocalCounter worker="1">168726</LocalCounter>
- <LocalCounter worker="2">168726</LocalCounter>
- <LocalCounter worker="3">168726</LocalCounter>
- <LocalCounter worker="4">168726</LocalCounter>
- <LocalCounter worker="5">168725</LocalCounter>
- <LocalCounter worker="6">168726</LocalCounter>
- <LocalCounter worker="7">168726</LocalCounter>
- <LocalCounter worker="8">168726</LocalCounter>
- <LocalCounter worker="9">168726</LocalCounter>
- <LocalCounter worker="10">168728</LocalCounter>
- <LocalCounter worker="11">168727</LocalCounter>
- <LocalCounter worker="12">168727</LocalCounter>
- <LocalCounter worker="13">168726</LocalCounter>
- <LocalCounter worker="14">168726</LocalCounter>
- <LocalCounter worker="15">168728</LocalCounter>
- <LocalCounter worker="16">168727</LocalCounter>
- <LocalCounter worker="17">168729</LocalCounter>
- <LocalCounter worker="18">168726</LocalCounter>
- <LocalCounter worker="19">168725</LocalCounter>
- <LocalCounter worker="20">168728</LocalCounter>
- <LocalCounter worker="21">168727</LocalCounter>
- <LocalCounter worker="22">168726</LocalCounter>
- <LocalCounter worker="23">168726</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4049435</SumOfLocalCounter>
- </GlobalTicketLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">13090449</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>13090449</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">6384726</LocalCounter>
- <LocalCounter worker="1">6384887</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>12769613</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">2955420</LocalCounter>
- <LocalCounter worker="1">2955434</LocalCounter>
- <LocalCounter worker="2">2955434</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8866288</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">2866696</LocalCounter>
- <LocalCounter worker="1">2866710</LocalCounter>
- <LocalCounter worker="2">2866711</LocalCounter>
- <LocalCounter worker="3">2866708</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>11466825</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">2996690</LocalCounter>
- <LocalCounter worker="1">2996699</LocalCounter>
- <LocalCounter worker="2">2996701</LocalCounter>
- <LocalCounter worker="3">2996698</LocalCounter>
- <LocalCounter worker="4">2996701</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>14983489</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">2540852</LocalCounter>
- <LocalCounter worker="1">2540864</LocalCounter>
- <LocalCounter worker="2">2540864</LocalCounter>
- <LocalCounter worker="3">2540862</LocalCounter>
- <LocalCounter worker="4">2540861</LocalCounter>
- <LocalCounter worker="5">2540863</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>15245166</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">2182035</LocalCounter>
- <LocalCounter worker="1">2182054</LocalCounter>
- <LocalCounter worker="2">2182053</LocalCounter>
- <LocalCounter worker="3">2182053</LocalCounter>
- <LocalCounter worker="4">2182053</LocalCounter>
- <LocalCounter worker="5">2182055</LocalCounter>
- <LocalCounter worker="6">2182055</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>15274358</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">1920366</LocalCounter>
- <LocalCounter worker="1">1920373</LocalCounter>
- <LocalCounter worker="2">1920374</LocalCounter>
- <LocalCounter worker="3">1920373</LocalCounter>
- <LocalCounter worker="4">1920371</LocalCounter>
- <LocalCounter worker="5">1920374</LocalCounter>
- <LocalCounter worker="6">1920373</LocalCounter>
- <LocalCounter worker="7">1920372</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>15362976</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">1216597</LocalCounter>
- <LocalCounter worker="1">1216602</LocalCounter>
- <LocalCounter worker="2">1216602</LocalCounter>
- <LocalCounter worker="3">1216602</LocalCounter>
- <LocalCounter worker="4">1216601</LocalCounter>
- <LocalCounter worker="5">1216602</LocalCounter>
- <LocalCounter worker="6">1216603</LocalCounter>
- <LocalCounter worker="7">1216601</LocalCounter>
- <LocalCounter worker="8">1216600</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>10949410</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">1007168</LocalCounter>
- <LocalCounter worker="1">1007170</LocalCounter>
- <LocalCounter worker="2">1007171</LocalCounter>
- <LocalCounter worker="3">1007170</LocalCounter>
- <LocalCounter worker="4">1007170</LocalCounter>
- <LocalCounter worker="5">1007170</LocalCounter>
- <LocalCounter worker="6">1007171</LocalCounter>
- <LocalCounter worker="7">1007170</LocalCounter>
- <LocalCounter worker="8">1007170</LocalCounter>
- <LocalCounter worker="9">1007171</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>10071701</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">772281</LocalCounter>
- <LocalCounter worker="1">772283</LocalCounter>
- <LocalCounter worker="2">772283</LocalCounter>
- <LocalCounter worker="3">772284</LocalCounter>
- <LocalCounter worker="4">772281</LocalCounter>
- <LocalCounter worker="5">772283</LocalCounter>
- <LocalCounter worker="6">772283</LocalCounter>
- <LocalCounter worker="7">772282</LocalCounter>
- <LocalCounter worker="8">772281</LocalCounter>
- <LocalCounter worker="9">772282</LocalCounter>
- <LocalCounter worker="10">772282</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8495105</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">672837</LocalCounter>
- <LocalCounter worker="1">672841</LocalCounter>
- <LocalCounter worker="2">672841</LocalCounter>
- <LocalCounter worker="3">672841</LocalCounter>
- <LocalCounter worker="4">672841</LocalCounter>
- <LocalCounter worker="5">672842</LocalCounter>
- <LocalCounter worker="6">672841</LocalCounter>
- <LocalCounter worker="7">672841</LocalCounter>
- <LocalCounter worker="8">672842</LocalCounter>
- <LocalCounter worker="9">672841</LocalCounter>
- <LocalCounter worker="10">672841</LocalCounter>
- <LocalCounter worker="11">672841</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8074090</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">595160</LocalCounter>
- <LocalCounter worker="1">595163</LocalCounter>
- <LocalCounter worker="2">595162</LocalCounter>
- <LocalCounter worker="3">595163</LocalCounter>
- <LocalCounter worker="4">595161</LocalCounter>
- <LocalCounter worker="5">595162</LocalCounter>
- <LocalCounter worker="6">595162</LocalCounter>
- <LocalCounter worker="7">595163</LocalCounter>
- <LocalCounter worker="8">595162</LocalCounter>
- <LocalCounter worker="9">595162</LocalCounter>
- <LocalCounter worker="10">595162</LocalCounter>
- <LocalCounter worker="11">595162</LocalCounter>
- <LocalCounter worker="12">595162</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7737106</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">581536</LocalCounter>
- <LocalCounter worker="1">581540</LocalCounter>
- <LocalCounter worker="2">581539</LocalCounter>
- <LocalCounter worker="3">581539</LocalCounter>
- <LocalCounter worker="4">581539</LocalCounter>
- <LocalCounter worker="5">581539</LocalCounter>
- <LocalCounter worker="6">581539</LocalCounter>
- <LocalCounter worker="7">581538</LocalCounter>
- <LocalCounter worker="8">581540</LocalCounter>
- <LocalCounter worker="9">581539</LocalCounter>
- <LocalCounter worker="10">581538</LocalCounter>
- <LocalCounter worker="11">581539</LocalCounter>
- <LocalCounter worker="12">581539</LocalCounter>
- <LocalCounter worker="13">581540</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8141544</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">578439</LocalCounter>
- <LocalCounter worker="1">578441</LocalCounter>
- <LocalCounter worker="2">578442</LocalCounter>
- <LocalCounter worker="3">578441</LocalCounter>
- <LocalCounter worker="4">578442</LocalCounter>
- <LocalCounter worker="5">578441</LocalCounter>
- <LocalCounter worker="6">578442</LocalCounter>
- <LocalCounter worker="7">578444</LocalCounter>
- <LocalCounter worker="8">578441</LocalCounter>
- <LocalCounter worker="9">578442</LocalCounter>
- <LocalCounter worker="10">578441</LocalCounter>
- <LocalCounter worker="11">578440</LocalCounter>
- <LocalCounter worker="12">578441</LocalCounter>
- <LocalCounter worker="13">578441</LocalCounter>
- <LocalCounter worker="14">578442</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8676620</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">527784</LocalCounter>
- <LocalCounter worker="1">527783</LocalCounter>
- <LocalCounter worker="2">527785</LocalCounter>
- <LocalCounter worker="3">527784</LocalCounter>
- <LocalCounter worker="4">527784</LocalCounter>
- <LocalCounter worker="5">527783</LocalCounter>
- <LocalCounter worker="6">527782</LocalCounter>
- <LocalCounter worker="7">527784</LocalCounter>
- <LocalCounter worker="8">527782</LocalCounter>
- <LocalCounter worker="9">527782</LocalCounter>
- <LocalCounter worker="10">527784</LocalCounter>
- <LocalCounter worker="11">527783</LocalCounter>
- <LocalCounter worker="12">527783</LocalCounter>
- <LocalCounter worker="13">527783</LocalCounter>
- <LocalCounter worker="14">527783</LocalCounter>
- <LocalCounter worker="15">527783</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>8444532</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">468012</LocalCounter>
- <LocalCounter worker="1">468009</LocalCounter>
- <LocalCounter worker="2">468009</LocalCounter>
- <LocalCounter worker="3">468010</LocalCounter>
- <LocalCounter worker="4">468011</LocalCounter>
- <LocalCounter worker="5">468010</LocalCounter>
- <LocalCounter worker="6">468011</LocalCounter>
- <LocalCounter worker="7">468009</LocalCounter>
- <LocalCounter worker="8">468009</LocalCounter>
- <LocalCounter worker="9">468010</LocalCounter>
- <LocalCounter worker="10">468011</LocalCounter>
- <LocalCounter worker="11">468012</LocalCounter>
- <LocalCounter worker="12">468009</LocalCounter>
- <LocalCounter worker="13">468011</LocalCounter>
- <LocalCounter worker="14">468011</LocalCounter>
- <LocalCounter worker="15">468011</LocalCounter>
- <LocalCounter worker="16">468012</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7956177</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">439238</LocalCounter>
- <LocalCounter worker="1">439222</LocalCounter>
- <LocalCounter worker="2">439228</LocalCounter>
- <LocalCounter worker="3">439225</LocalCounter>
- <LocalCounter worker="4">439226</LocalCounter>
- <LocalCounter worker="5">439228</LocalCounter>
- <LocalCounter worker="6">439226</LocalCounter>
- <LocalCounter worker="7">439219</LocalCounter>
- <LocalCounter worker="8">439231</LocalCounter>
- <LocalCounter worker="9">439213</LocalCounter>
- <LocalCounter worker="10">439226</LocalCounter>
- <LocalCounter worker="11">439215</LocalCounter>
- <LocalCounter worker="12">439215</LocalCounter>
- <LocalCounter worker="13">439222</LocalCounter>
- <LocalCounter worker="14">439224</LocalCounter>
- <LocalCounter worker="15">439217</LocalCounter>
- <LocalCounter worker="16">439226</LocalCounter>
- <LocalCounter worker="17">439230</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7906031</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">392577</LocalCounter>
- <LocalCounter worker="1">392658</LocalCounter>
- <LocalCounter worker="2">392677</LocalCounter>
- <LocalCounter worker="3">392625</LocalCounter>
- <LocalCounter worker="4">392645</LocalCounter>
- <LocalCounter worker="5">392611</LocalCounter>
- <LocalCounter worker="6">392643</LocalCounter>
- <LocalCounter worker="7">392617</LocalCounter>
- <LocalCounter worker="8">392519</LocalCounter>
- <LocalCounter worker="9">392507</LocalCounter>
- <LocalCounter worker="10">392525</LocalCounter>
- <LocalCounter worker="11">392515</LocalCounter>
- <LocalCounter worker="12">392513</LocalCounter>
- <LocalCounter worker="13">392488</LocalCounter>
- <LocalCounter worker="14">392567</LocalCounter>
- <LocalCounter worker="15">392567</LocalCounter>
- <LocalCounter worker="16">392175</LocalCounter>
- <LocalCounter worker="17">392148</LocalCounter>
- <LocalCounter worker="18">392153</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7457730</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">393189</LocalCounter>
- <LocalCounter worker="1">393145</LocalCounter>
- <LocalCounter worker="2">393365</LocalCounter>
- <LocalCounter worker="3">393284</LocalCounter>
- <LocalCounter worker="4">393215</LocalCounter>
- <LocalCounter worker="5">393191</LocalCounter>
- <LocalCounter worker="6">393247</LocalCounter>
- <LocalCounter worker="7">393229</LocalCounter>
- <LocalCounter worker="8">392255</LocalCounter>
- <LocalCounter worker="9">392239</LocalCounter>
- <LocalCounter worker="10">392268</LocalCounter>
- <LocalCounter worker="11">392259</LocalCounter>
- <LocalCounter worker="12">392312</LocalCounter>
- <LocalCounter worker="13">392395</LocalCounter>
- <LocalCounter worker="14">392318</LocalCounter>
- <LocalCounter worker="15">392431</LocalCounter>
- <LocalCounter worker="16">389204</LocalCounter>
- <LocalCounter worker="17">389161</LocalCounter>
- <LocalCounter worker="18">389146</LocalCounter>
- <LocalCounter worker="19">389191</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7841044</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">333867</LocalCounter>
- <LocalCounter worker="1">333818</LocalCounter>
- <LocalCounter worker="2">333796</LocalCounter>
- <LocalCounter worker="3">333998</LocalCounter>
- <LocalCounter worker="4">333786</LocalCounter>
- <LocalCounter worker="5">333970</LocalCounter>
- <LocalCounter worker="6">333966</LocalCounter>
- <LocalCounter worker="7">333946</LocalCounter>
- <LocalCounter worker="8">331691</LocalCounter>
- <LocalCounter worker="9">331644</LocalCounter>
- <LocalCounter worker="10">331574</LocalCounter>
- <LocalCounter worker="11">331570</LocalCounter>
- <LocalCounter worker="12">331815</LocalCounter>
- <LocalCounter worker="13">331757</LocalCounter>
- <LocalCounter worker="14">331873</LocalCounter>
- <LocalCounter worker="15">331902</LocalCounter>
- <LocalCounter worker="16">321858</LocalCounter>
- <LocalCounter worker="17">321819</LocalCounter>
- <LocalCounter worker="18">321778</LocalCounter>
- <LocalCounter worker="19">321915</LocalCounter>
- <LocalCounter worker="20">322036</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>6934379</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">336076</LocalCounter>
- <LocalCounter worker="1">336030</LocalCounter>
- <LocalCounter worker="2">335863</LocalCounter>
- <LocalCounter worker="3">335861</LocalCounter>
- <LocalCounter worker="4">335954</LocalCounter>
- <LocalCounter worker="5">336069</LocalCounter>
- <LocalCounter worker="6">335963</LocalCounter>
- <LocalCounter worker="7">335891</LocalCounter>
- <LocalCounter worker="8">336178</LocalCounter>
- <LocalCounter worker="9">335697</LocalCounter>
- <LocalCounter worker="10">335574</LocalCounter>
- <LocalCounter worker="11">335581</LocalCounter>
- <LocalCounter worker="12">335586</LocalCounter>
- <LocalCounter worker="13">336068</LocalCounter>
- <LocalCounter worker="14">336138</LocalCounter>
- <LocalCounter worker="15">336049</LocalCounter>
- <LocalCounter worker="16">330987</LocalCounter>
- <LocalCounter worker="17">330865</LocalCounter>
- <LocalCounter worker="18">331086</LocalCounter>
- <LocalCounter worker="19">330937</LocalCounter>
- <LocalCounter worker="20">331150</LocalCounter>
- <LocalCounter worker="21">330937</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7360540</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">317093</LocalCounter>
- <LocalCounter worker="1">317207</LocalCounter>
- <LocalCounter worker="2">317153</LocalCounter>
- <LocalCounter worker="3">317177</LocalCounter>
- <LocalCounter worker="4">317207</LocalCounter>
- <LocalCounter worker="5">317164</LocalCounter>
- <LocalCounter worker="6">317198</LocalCounter>
- <LocalCounter worker="7">317132</LocalCounter>
- <LocalCounter worker="8">317445</LocalCounter>
- <LocalCounter worker="9">317166</LocalCounter>
- <LocalCounter worker="10">317044</LocalCounter>
- <LocalCounter worker="11">317000</LocalCounter>
- <LocalCounter worker="12">317012</LocalCounter>
- <LocalCounter worker="13">317587</LocalCounter>
- <LocalCounter worker="14">317522</LocalCounter>
- <LocalCounter worker="15">317568</LocalCounter>
- <LocalCounter worker="16">315579</LocalCounter>
- <LocalCounter worker="17">315563</LocalCounter>
- <LocalCounter worker="18">315657</LocalCounter>
- <LocalCounter worker="19">315582</LocalCounter>
- <LocalCounter worker="20">315453</LocalCounter>
- <LocalCounter worker="21">315445</LocalCounter>
- <LocalCounter worker="22">315774</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7284728</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalMCSLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">312519</LocalCounter>
- <LocalCounter worker="1">312750</LocalCounter>
- <LocalCounter worker="2">312612</LocalCounter>
- <LocalCounter worker="3">312671</LocalCounter>
- <LocalCounter worker="4">312685</LocalCounter>
- <LocalCounter worker="5">312707</LocalCounter>
- <LocalCounter worker="6">312543</LocalCounter>
- <LocalCounter worker="7">312680</LocalCounter>
- <LocalCounter worker="8">313250</LocalCounter>
- <LocalCounter worker="9">312566</LocalCounter>
- <LocalCounter worker="10">312775</LocalCounter>
- <LocalCounter worker="11">312827</LocalCounter>
- <LocalCounter worker="12">312652</LocalCounter>
- <LocalCounter worker="13">313141</LocalCounter>
- <LocalCounter worker="14">313261</LocalCounter>
- <LocalCounter worker="15">313270</LocalCounter>
- <LocalCounter worker="16">312883</LocalCounter>
- <LocalCounter worker="17">312649</LocalCounter>
- <LocalCounter worker="18">312529</LocalCounter>
- <LocalCounter worker="19">312615</LocalCounter>
- <LocalCounter worker="20">312755</LocalCounter>
- <LocalCounter worker="21">312833</LocalCounter>
- <LocalCounter worker="22">312673</LocalCounter>
- <LocalCounter worker="23">312728</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>7506574</SumOfLocalCounter>
- </GlobalMCSLockWithLocalCounter>
- <GlobalTicketLockWithGlobalCounter activeWorker="24">
- <LocalCounter worker="0">149325</LocalCounter>
- <LocalCounter worker="1">149327</LocalCounter>
- <LocalCounter worker="2">149325</LocalCounter>
- <LocalCounter worker="3">149325</LocalCounter>
- <LocalCounter worker="4">149325</LocalCounter>
- <LocalCounter worker="5">149327</LocalCounter>
- <LocalCounter worker="6">149325</LocalCounter>
- <LocalCounter worker="7">149324</LocalCounter>
- <LocalCounter worker="8">149326</LocalCounter>
- <LocalCounter worker="9">149325</LocalCounter>
- <LocalCounter worker="10">149326</LocalCounter>
- <LocalCounter worker="11">149326</LocalCounter>
- <LocalCounter worker="12">149326</LocalCounter>
- <LocalCounter worker="13">149325</LocalCounter>
- <LocalCounter worker="14">149325</LocalCounter>
- <LocalCounter worker="15">149325</LocalCounter>
- <LocalCounter worker="16">149325</LocalCounter>
- <LocalCounter worker="17">149325</LocalCounter>
- <LocalCounter worker="18">149325</LocalCounter>
- <LocalCounter worker="19">149326</LocalCounter>
- <LocalCounter worker="20">149325</LocalCounter>
- <LocalCounter worker="21">149326</LocalCounter>
- <LocalCounter worker="22">149325</LocalCounter>
- <LocalCounter worker="23">149325</LocalCounter>
- <GlobalCounter>3583809</GlobalCounter>
- <SumOfLocalCounter>3583809</SumOfLocalCounter>
- </GlobalTicketLockWithGlobalCounter>
- <GlobalMCSLockWithGlobalCounter activeWorker="24">
- <LocalCounter worker="0">219612</LocalCounter>
- <LocalCounter worker="1">219612</LocalCounter>
- <LocalCounter worker="2">219612</LocalCounter>
- <LocalCounter worker="3">219612</LocalCounter>
- <LocalCounter worker="4">219612</LocalCounter>
- <LocalCounter worker="5">219612</LocalCounter>
- <LocalCounter worker="6">219613</LocalCounter>
- <LocalCounter worker="7">219612</LocalCounter>
- <LocalCounter worker="8">219612</LocalCounter>
- <LocalCounter worker="9">219614</LocalCounter>
- <LocalCounter worker="10">219612</LocalCounter>
- <LocalCounter worker="11">219611</LocalCounter>
- <LocalCounter worker="12">219613</LocalCounter>
- <LocalCounter worker="13">219614</LocalCounter>
- <LocalCounter worker="14">219612</LocalCounter>
- <LocalCounter worker="15">219612</LocalCounter>
- <LocalCounter worker="16">219613</LocalCounter>
- <LocalCounter worker="17">219613</LocalCounter>
- <LocalCounter worker="18">219611</LocalCounter>
- <LocalCounter worker="19">219612</LocalCounter>
- <LocalCounter worker="20">219611</LocalCounter>
- <LocalCounter worker="21">219612</LocalCounter>
- <LocalCounter worker="22">219612</LocalCounter>
- <LocalCounter worker="23">219613</LocalCounter>
- <GlobalCounter>5270694</GlobalCounter>
- <SumOfLocalCounter>5270694</SumOfLocalCounter>
- </GlobalMCSLockWithGlobalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">17976591</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>17976591</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">17093434</LocalCounter>
- <LocalCounter worker="1">17094750</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>34188184</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">16126005</LocalCounter>
- <LocalCounter worker="1">16127191</LocalCounter>
- <LocalCounter worker="2">16875254</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>49128450</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">15412620</LocalCounter>
- <LocalCounter worker="1">15413887</LocalCounter>
- <LocalCounter worker="2">15366643</LocalCounter>
- <LocalCounter worker="3">15366578</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>61559728</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">16308721</LocalCounter>
- <LocalCounter worker="1">16310021</LocalCounter>
- <LocalCounter worker="2">16318960</LocalCounter>
- <LocalCounter worker="3">16318983</LocalCounter>
- <LocalCounter worker="4">16426938</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>81683623</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">15193884</LocalCounter>
- <LocalCounter worker="1">15195117</LocalCounter>
- <LocalCounter worker="2">15113407</LocalCounter>
- <LocalCounter worker="3">15121476</LocalCounter>
- <LocalCounter worker="4">15104027</LocalCounter>
- <LocalCounter worker="5">15104373</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>90832284</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">15794728</LocalCounter>
- <LocalCounter worker="1">15792858</LocalCounter>
- <LocalCounter worker="2">15790710</LocalCounter>
- <LocalCounter worker="3">15798703</LocalCounter>
- <LocalCounter worker="4">15746011</LocalCounter>
- <LocalCounter worker="5">15746393</LocalCounter>
- <LocalCounter worker="6">15839713</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>110509116</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">14538979</LocalCounter>
- <LocalCounter worker="1">14540011</LocalCounter>
- <LocalCounter worker="2">14540067</LocalCounter>
- <LocalCounter worker="3">14543590</LocalCounter>
- <LocalCounter worker="4">14523331</LocalCounter>
- <LocalCounter worker="5">14523800</LocalCounter>
- <LocalCounter worker="6">14541196</LocalCounter>
- <LocalCounter worker="7">14543759</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>116294733</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">14597172</LocalCounter>
- <LocalCounter worker="1">14598178</LocalCounter>
- <LocalCounter worker="2">14594621</LocalCounter>
- <LocalCounter worker="3">14598190</LocalCounter>
- <LocalCounter worker="4">14558148</LocalCounter>
- <LocalCounter worker="5">14558565</LocalCounter>
- <LocalCounter worker="6">14603981</LocalCounter>
- <LocalCounter worker="7">14614317</LocalCounter>
- <LocalCounter worker="8">18013252</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>134736424</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">14529346</LocalCounter>
- <LocalCounter worker="1">14530425</LocalCounter>
- <LocalCounter worker="2">14525274</LocalCounter>
- <LocalCounter worker="3">14530395</LocalCounter>
- <LocalCounter worker="4">14501600</LocalCounter>
- <LocalCounter worker="5">14501959</LocalCounter>
- <LocalCounter worker="6">14539379</LocalCounter>
- <LocalCounter worker="7">14546701</LocalCounter>
- <LocalCounter worker="8">16764576</LocalCounter>
- <LocalCounter worker="9">16764953</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>149734608</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">14552313</LocalCounter>
- <LocalCounter worker="1">14545774</LocalCounter>
- <LocalCounter worker="2">14543859</LocalCounter>
- <LocalCounter worker="3">14545590</LocalCounter>
- <LocalCounter worker="4">14521699</LocalCounter>
- <LocalCounter worker="5">14522178</LocalCounter>
- <LocalCounter worker="6">14548350</LocalCounter>
- <LocalCounter worker="7">14554882</LocalCounter>
- <LocalCounter worker="8">15834293</LocalCounter>
- <LocalCounter worker="9">15834734</LocalCounter>
- <LocalCounter worker="10">16861946</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>164865618</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">14544735</LocalCounter>
- <LocalCounter worker="1">14545749</LocalCounter>
- <LocalCounter worker="2">14545348</LocalCounter>
- <LocalCounter worker="3">14545729</LocalCounter>
- <LocalCounter worker="4">14531175</LocalCounter>
- <LocalCounter worker="5">14531582</LocalCounter>
- <LocalCounter worker="6">14545221</LocalCounter>
- <LocalCounter worker="7">14552316</LocalCounter>
- <LocalCounter worker="8">15709806</LocalCounter>
- <LocalCounter worker="9">15710183</LocalCounter>
- <LocalCounter worker="10">15613298</LocalCounter>
- <LocalCounter worker="11">15613336</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>178988478</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">14631943</LocalCounter>
- <LocalCounter worker="1">14629081</LocalCounter>
- <LocalCounter worker="2">14626428</LocalCounter>
- <LocalCounter worker="3">14629173</LocalCounter>
- <LocalCounter worker="4">14592751</LocalCounter>
- <LocalCounter worker="5">14593171</LocalCounter>
- <LocalCounter worker="6">14633428</LocalCounter>
- <LocalCounter worker="7">14642988</LocalCounter>
- <LocalCounter worker="8">16103014</LocalCounter>
- <LocalCounter worker="9">16103498</LocalCounter>
- <LocalCounter worker="10">16121344</LocalCounter>
- <LocalCounter worker="11">16121522</LocalCounter>
- <LocalCounter worker="12">16592935</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>198021276</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">14663977</LocalCounter>
- <LocalCounter worker="1">14657392</LocalCounter>
- <LocalCounter worker="2">14653868</LocalCounter>
- <LocalCounter worker="3">14657385</LocalCounter>
- <LocalCounter worker="4">14618995</LocalCounter>
- <LocalCounter worker="5">14619260</LocalCounter>
- <LocalCounter worker="6">14663280</LocalCounter>
- <LocalCounter worker="7">14669006</LocalCounter>
- <LocalCounter worker="8">14932649</LocalCounter>
- <LocalCounter worker="9">14933133</LocalCounter>
- <LocalCounter worker="10">14914884</LocalCounter>
- <LocalCounter worker="11">14922839</LocalCounter>
- <LocalCounter worker="12">14912239</LocalCounter>
- <LocalCounter worker="13">14912618</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>206731525</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">14574685</LocalCounter>
- <LocalCounter worker="1">14571820</LocalCounter>
- <LocalCounter worker="2">14569180</LocalCounter>
- <LocalCounter worker="3">14571882</LocalCounter>
- <LocalCounter worker="4">14535038</LocalCounter>
- <LocalCounter worker="5">14535448</LocalCounter>
- <LocalCounter worker="6">14576273</LocalCounter>
- <LocalCounter worker="7">14588007</LocalCounter>
- <LocalCounter worker="8">15847051</LocalCounter>
- <LocalCounter worker="9">15847907</LocalCounter>
- <LocalCounter worker="10">15842926</LocalCounter>
- <LocalCounter worker="11">15845292</LocalCounter>
- <LocalCounter worker="12">15844741</LocalCounter>
- <LocalCounter worker="13">15845144</LocalCounter>
- <LocalCounter worker="14">15858663</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>227454057</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">14565742</LocalCounter>
- <LocalCounter worker="1">14566794</LocalCounter>
- <LocalCounter worker="2">14563059</LocalCounter>
- <LocalCounter worker="3">14566698</LocalCounter>
- <LocalCounter worker="4">14539138</LocalCounter>
- <LocalCounter worker="5">14539550</LocalCounter>
- <LocalCounter worker="6">14572545</LocalCounter>
- <LocalCounter worker="7">14582815</LocalCounter>
- <LocalCounter worker="8">14708684</LocalCounter>
- <LocalCounter worker="9">14709444</LocalCounter>
- <LocalCounter worker="10">14704986</LocalCounter>
- <LocalCounter worker="11">14705363</LocalCounter>
- <LocalCounter worker="12">14739299</LocalCounter>
- <LocalCounter worker="13">14739959</LocalCounter>
- <LocalCounter worker="14">14685047</LocalCounter>
- <LocalCounter worker="15">14684929</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>234174052</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">14578846</LocalCounter>
- <LocalCounter worker="1">14579881</LocalCounter>
- <LocalCounter worker="2">14577981</LocalCounter>
- <LocalCounter worker="3">14579886</LocalCounter>
- <LocalCounter worker="4">14572709</LocalCounter>
- <LocalCounter worker="5">14573049</LocalCounter>
- <LocalCounter worker="6">14582536</LocalCounter>
- <LocalCounter worker="7">14584350</LocalCounter>
- <LocalCounter worker="8">15007742</LocalCounter>
- <LocalCounter worker="9">15008395</LocalCounter>
- <LocalCounter worker="10">15007420</LocalCounter>
- <LocalCounter worker="11">15007658</LocalCounter>
- <LocalCounter worker="12">15014167</LocalCounter>
- <LocalCounter worker="13">15014785</LocalCounter>
- <LocalCounter worker="14">15005244</LocalCounter>
- <LocalCounter worker="15">15005419</LocalCounter>
- <LocalCounter worker="16">18174844</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>254874912</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">14520800</LocalCounter>
- <LocalCounter worker="1">14521760</LocalCounter>
- <LocalCounter worker="2">14516500</LocalCounter>
- <LocalCounter worker="3">14519179</LocalCounter>
- <LocalCounter worker="4">14488245</LocalCounter>
- <LocalCounter worker="5">14488682</LocalCounter>
- <LocalCounter worker="6">14533956</LocalCounter>
- <LocalCounter worker="7">14545682</LocalCounter>
- <LocalCounter worker="8">14854184</LocalCounter>
- <LocalCounter worker="9">14854859</LocalCounter>
- <LocalCounter worker="10">14853940</LocalCounter>
- <LocalCounter worker="11">14854226</LocalCounter>
- <LocalCounter worker="12">14853922</LocalCounter>
- <LocalCounter worker="13">14854597</LocalCounter>
- <LocalCounter worker="14">14853928</LocalCounter>
- <LocalCounter worker="15">14854269</LocalCounter>
- <LocalCounter worker="16">16695502</LocalCounter>
- <LocalCounter worker="17">16695771</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>268360002</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">14767102</LocalCounter>
- <LocalCounter worker="1">14756811</LocalCounter>
- <LocalCounter worker="2">14754774</LocalCounter>
- <LocalCounter worker="3">14756725</LocalCounter>
- <LocalCounter worker="4">14720166</LocalCounter>
- <LocalCounter worker="5">14720526</LocalCounter>
- <LocalCounter worker="6">14759446</LocalCounter>
- <LocalCounter worker="7">14768164</LocalCounter>
- <LocalCounter worker="8">15010901</LocalCounter>
- <LocalCounter worker="9">15011570</LocalCounter>
- <LocalCounter worker="10">15010636</LocalCounter>
- <LocalCounter worker="11">15010954</LocalCounter>
- <LocalCounter worker="12">15010667</LocalCounter>
- <LocalCounter worker="13">15011279</LocalCounter>
- <LocalCounter worker="14">15010747</LocalCounter>
- <LocalCounter worker="15">15011090</LocalCounter>
- <LocalCounter worker="16">16740850</LocalCounter>
- <LocalCounter worker="17">16741140</LocalCounter>
- <LocalCounter worker="18">16740556</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>288314104</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">14503694</LocalCounter>
- <LocalCounter worker="1">14504695</LocalCounter>
- <LocalCounter worker="2">14504309</LocalCounter>
- <LocalCounter worker="3">14504656</LocalCounter>
- <LocalCounter worker="4">14481517</LocalCounter>
- <LocalCounter worker="5">14481930</LocalCounter>
- <LocalCounter worker="6">14504225</LocalCounter>
- <LocalCounter worker="7">14511441</LocalCounter>
- <LocalCounter worker="8">14881230</LocalCounter>
- <LocalCounter worker="9">14881959</LocalCounter>
- <LocalCounter worker="10">14880910</LocalCounter>
- <LocalCounter worker="11">14881278</LocalCounter>
- <LocalCounter worker="12">14881048</LocalCounter>
- <LocalCounter worker="13">14881629</LocalCounter>
- <LocalCounter worker="14">14881078</LocalCounter>
- <LocalCounter worker="15">14881274</LocalCounter>
- <LocalCounter worker="16">15921487</LocalCounter>
- <LocalCounter worker="17">15921957</LocalCounter>
- <LocalCounter worker="18">15772241</LocalCounter>
- <LocalCounter worker="19">15772141</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>298434699</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">14585345</LocalCounter>
- <LocalCounter worker="1">14586417</LocalCounter>
- <LocalCounter worker="2">14584462</LocalCounter>
- <LocalCounter worker="3">14586324</LocalCounter>
- <LocalCounter worker="4">14561834</LocalCounter>
- <LocalCounter worker="5">14562194</LocalCounter>
- <LocalCounter worker="6">14589003</LocalCounter>
- <LocalCounter worker="7">14593127</LocalCounter>
- <LocalCounter worker="8">14651792</LocalCounter>
- <LocalCounter worker="9">14652414</LocalCounter>
- <LocalCounter worker="10">14651588</LocalCounter>
- <LocalCounter worker="11">14651811</LocalCounter>
- <LocalCounter worker="12">14651560</LocalCounter>
- <LocalCounter worker="13">14652081</LocalCounter>
- <LocalCounter worker="14">14651657</LocalCounter>
- <LocalCounter worker="15">14651849</LocalCounter>
- <LocalCounter worker="16">15956242</LocalCounter>
- <LocalCounter worker="17">15956591</LocalCounter>
- <LocalCounter worker="18">15917381</LocalCounter>
- <LocalCounter worker="19">15917342</LocalCounter>
- <LocalCounter worker="20">16692459</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>314303473</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">14567398</LocalCounter>
- <LocalCounter worker="1">14564632</LocalCounter>
- <LocalCounter worker="2">14561858</LocalCounter>
- <LocalCounter worker="3">14564593</LocalCounter>
- <LocalCounter worker="4">14537808</LocalCounter>
- <LocalCounter worker="5">14538183</LocalCounter>
- <LocalCounter worker="6">14568901</LocalCounter>
- <LocalCounter worker="7">14571570</LocalCounter>
- <LocalCounter worker="8">14824939</LocalCounter>
- <LocalCounter worker="9">14825595</LocalCounter>
- <LocalCounter worker="10">14824563</LocalCounter>
- <LocalCounter worker="11">14824936</LocalCounter>
- <LocalCounter worker="12">14824664</LocalCounter>
- <LocalCounter worker="13">14825180</LocalCounter>
- <LocalCounter worker="14">14824622</LocalCounter>
- <LocalCounter worker="15">14824869</LocalCounter>
- <LocalCounter worker="16">15000394</LocalCounter>
- <LocalCounter worker="17">15000816</LocalCounter>
- <LocalCounter worker="18">15132415</LocalCounter>
- <LocalCounter worker="19">15132390</LocalCounter>
- <LocalCounter worker="20">14957113</LocalCounter>
- <LocalCounter worker="21">14957467</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>325254906</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">14533130</LocalCounter>
- <LocalCounter worker="1">14526680</LocalCounter>
- <LocalCounter worker="2">14523900</LocalCounter>
- <LocalCounter worker="3">14526694</LocalCounter>
- <LocalCounter worker="4">14473827</LocalCounter>
- <LocalCounter worker="5">14474177</LocalCounter>
- <LocalCounter worker="6">14530917</LocalCounter>
- <LocalCounter worker="7">14540399</LocalCounter>
- <LocalCounter worker="8">14689348</LocalCounter>
- <LocalCounter worker="9">14690045</LocalCounter>
- <LocalCounter worker="10">14689080</LocalCounter>
- <LocalCounter worker="11">14689352</LocalCounter>
- <LocalCounter worker="12">14689191</LocalCounter>
- <LocalCounter worker="13">14689822</LocalCounter>
- <LocalCounter worker="14">14689153</LocalCounter>
- <LocalCounter worker="15">14689383</LocalCounter>
- <LocalCounter worker="16">15149225</LocalCounter>
- <LocalCounter worker="17">15149721</LocalCounter>
- <LocalCounter worker="18">15149099</LocalCounter>
- <LocalCounter worker="19">15149020</LocalCounter>
- <LocalCounter worker="20">15149087</LocalCounter>
- <LocalCounter worker="21">15149374</LocalCounter>
- <LocalCounter worker="22">15723066</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>340263690</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalTicketLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">14520191</LocalCounter>
- <LocalCounter worker="1">14521316</LocalCounter>
- <LocalCounter worker="2">14520064</LocalCounter>
- <LocalCounter worker="3">14521273</LocalCounter>
- <LocalCounter worker="4">14508861</LocalCounter>
- <LocalCounter worker="5">14509277</LocalCounter>
- <LocalCounter worker="6">14522439</LocalCounter>
- <LocalCounter worker="7">14523376</LocalCounter>
- <LocalCounter worker="8">14971139</LocalCounter>
- <LocalCounter worker="9">14971788</LocalCounter>
- <LocalCounter worker="10">14970834</LocalCounter>
- <LocalCounter worker="11">14971145</LocalCounter>
- <LocalCounter worker="12">14970850</LocalCounter>
- <LocalCounter worker="13">14971356</LocalCounter>
- <LocalCounter worker="14">14970773</LocalCounter>
- <LocalCounter worker="15">14971212</LocalCounter>
- <LocalCounter worker="16">14302288</LocalCounter>
- <LocalCounter worker="17">14302674</LocalCounter>
- <LocalCounter worker="18">14292318</LocalCounter>
- <LocalCounter worker="19">14292258</LocalCounter>
- <LocalCounter worker="20">14327757</LocalCounter>
- <LocalCounter worker="21">14328109</LocalCounter>
- <LocalCounter worker="22">14203917</LocalCounter>
- <LocalCounter worker="23">14204596</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>350169811</SumOfLocalCounter>
- </LocalTicketLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">12082070</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>12082070</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">11860565</LocalCounter>
- <LocalCounter worker="1">11861524</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>23722089</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">10937185</LocalCounter>
- <LocalCounter worker="1">11666176</LocalCounter>
- <LocalCounter worker="2">11377885</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>33981246</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">10711169</LocalCounter>
- <LocalCounter worker="1">11044642</LocalCounter>
- <LocalCounter worker="2">10712186</LocalCounter>
- <LocalCounter worker="3">10711772</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>43179769</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">10681736</LocalCounter>
- <LocalCounter worker="1">10803241</LocalCounter>
- <LocalCounter worker="2">10697774</LocalCounter>
- <LocalCounter worker="3">10697365</LocalCounter>
- <LocalCounter worker="4">10786731</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>53666847</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">10202899</LocalCounter>
- <LocalCounter worker="1">10453899</LocalCounter>
- <LocalCounter worker="2">10236078</LocalCounter>
- <LocalCounter worker="3">10235641</LocalCounter>
- <LocalCounter worker="4">10203405</LocalCounter>
- <LocalCounter worker="5">10435466</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>61767388</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">10057432</LocalCounter>
- <LocalCounter worker="1">10126310</LocalCounter>
- <LocalCounter worker="2">10062880</LocalCounter>
- <LocalCounter worker="3">10062441</LocalCounter>
- <LocalCounter worker="4">10056560</LocalCounter>
- <LocalCounter worker="5">10117801</LocalCounter>
- <LocalCounter worker="6">10136814</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>70620238</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">9534620</LocalCounter>
- <LocalCounter worker="1">9563972</LocalCounter>
- <LocalCounter worker="2">9529566</LocalCounter>
- <LocalCounter worker="3">9529136</LocalCounter>
- <LocalCounter worker="4">9534974</LocalCounter>
- <LocalCounter worker="5">9559121</LocalCounter>
- <LocalCounter worker="6">9532504</LocalCounter>
- <LocalCounter worker="7">9532098</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>76315991</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">9588196</LocalCounter>
- <LocalCounter worker="1">9644812</LocalCounter>
- <LocalCounter worker="2">9569541</LocalCounter>
- <LocalCounter worker="3">9569144</LocalCounter>
- <LocalCounter worker="4">9588269</LocalCounter>
- <LocalCounter worker="5">9635446</LocalCounter>
- <LocalCounter worker="6">9587520</LocalCounter>
- <LocalCounter worker="7">9587124</LocalCounter>
- <LocalCounter worker="8">12171038</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>88941090</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">9494406</LocalCounter>
- <LocalCounter worker="1">9569092</LocalCounter>
- <LocalCounter worker="2">9483166</LocalCounter>
- <LocalCounter worker="3">9482828</LocalCounter>
- <LocalCounter worker="4">9494096</LocalCounter>
- <LocalCounter worker="5">9549855</LocalCounter>
- <LocalCounter worker="6">9493566</LocalCounter>
- <LocalCounter worker="7">9493228</LocalCounter>
- <LocalCounter worker="8">11870461</LocalCounter>
- <LocalCounter worker="9">11870751</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>99801449</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">9547513</LocalCounter>
- <LocalCounter worker="1">9618639</LocalCounter>
- <LocalCounter worker="2">9531079</LocalCounter>
- <LocalCounter worker="3">9530708</LocalCounter>
- <LocalCounter worker="4">9544013</LocalCounter>
- <LocalCounter worker="5">9582528</LocalCounter>
- <LocalCounter worker="6">9546188</LocalCounter>
- <LocalCounter worker="7">9545855</LocalCounter>
- <LocalCounter worker="8">10981480</LocalCounter>
- <LocalCounter worker="9">11695200</LocalCounter>
- <LocalCounter worker="10">11417956</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>110541159</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">9480940</LocalCounter>
- <LocalCounter worker="1">9534711</LocalCounter>
- <LocalCounter worker="2">9471781</LocalCounter>
- <LocalCounter worker="3">9471472</LocalCounter>
- <LocalCounter worker="4">9481875</LocalCounter>
- <LocalCounter worker="5">9525995</LocalCounter>
- <LocalCounter worker="6">9478339</LocalCounter>
- <LocalCounter worker="7">9478029</LocalCounter>
- <LocalCounter worker="8">10711265</LocalCounter>
- <LocalCounter worker="9">11114755</LocalCounter>
- <LocalCounter worker="10">10711627</LocalCounter>
- <LocalCounter worker="11">10711294</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>119172083</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">9546022</LocalCounter>
- <LocalCounter worker="1">9587726</LocalCounter>
- <LocalCounter worker="2">9539512</LocalCounter>
- <LocalCounter worker="3">9539112</LocalCounter>
- <LocalCounter worker="4">9546798</LocalCounter>
- <LocalCounter worker="5">9572802</LocalCounter>
- <LocalCounter worker="6">9547437</LocalCounter>
- <LocalCounter worker="7">9547014</LocalCounter>
- <LocalCounter worker="8">10700918</LocalCounter>
- <LocalCounter worker="9">10778357</LocalCounter>
- <LocalCounter worker="10">10711682</LocalCounter>
- <LocalCounter worker="11">10711355</LocalCounter>
- <LocalCounter worker="12">10766560</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>130095295</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">9529110</LocalCounter>
- <LocalCounter worker="1">9587899</LocalCounter>
- <LocalCounter worker="2">9523029</LocalCounter>
- <LocalCounter worker="3">9522600</LocalCounter>
- <LocalCounter worker="4">9529393</LocalCounter>
- <LocalCounter worker="5">9562307</LocalCounter>
- <LocalCounter worker="6">9531767</LocalCounter>
- <LocalCounter worker="7">9531364</LocalCounter>
- <LocalCounter worker="8">10124795</LocalCounter>
- <LocalCounter worker="9">10538492</LocalCounter>
- <LocalCounter worker="10">10167869</LocalCounter>
- <LocalCounter worker="11">10167494</LocalCounter>
- <LocalCounter worker="12">10101866</LocalCounter>
- <LocalCounter worker="13">10500389</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>137918374</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">9566449</LocalCounter>
- <LocalCounter worker="1">9604833</LocalCounter>
- <LocalCounter worker="2">9559288</LocalCounter>
- <LocalCounter worker="3">9558898</LocalCounter>
- <LocalCounter worker="4">9567098</LocalCounter>
- <LocalCounter worker="5">9599387</LocalCounter>
- <LocalCounter worker="6">9566496</LocalCounter>
- <LocalCounter worker="7">9566147</LocalCounter>
- <LocalCounter worker="8">10075047</LocalCounter>
- <LocalCounter worker="9">10164135</LocalCounter>
- <LocalCounter worker="10">10082703</LocalCounter>
- <LocalCounter worker="11">10082326</LocalCounter>
- <LocalCounter worker="12">10075244</LocalCounter>
- <LocalCounter worker="13">10155140</LocalCounter>
- <LocalCounter worker="14">10178314</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>147401505</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">9508977</LocalCounter>
- <LocalCounter worker="1">9585956</LocalCounter>
- <LocalCounter worker="2">9501428</LocalCounter>
- <LocalCounter worker="3">9501014</LocalCounter>
- <LocalCounter worker="4">9508465</LocalCounter>
- <LocalCounter worker="5">9556360</LocalCounter>
- <LocalCounter worker="6">9512315</LocalCounter>
- <LocalCounter worker="7">9511916</LocalCounter>
- <LocalCounter worker="8">9534416</LocalCounter>
- <LocalCounter worker="9">9549972</LocalCounter>
- <LocalCounter worker="10">9531251</LocalCounter>
- <LocalCounter worker="11">9530849</LocalCounter>
- <LocalCounter worker="12">9535299</LocalCounter>
- <LocalCounter worker="13">9547690</LocalCounter>
- <LocalCounter worker="14">9533669</LocalCounter>
- <LocalCounter worker="15">9533330</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>152482907</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">9456577</LocalCounter>
- <LocalCounter worker="1">9518572</LocalCounter>
- <LocalCounter worker="2">9448329</LocalCounter>
- <LocalCounter worker="3">9447904</LocalCounter>
- <LocalCounter worker="4">9456755</LocalCounter>
- <LocalCounter worker="5">9492156</LocalCounter>
- <LocalCounter worker="6">9456619</LocalCounter>
- <LocalCounter worker="7">9456290</LocalCounter>
- <LocalCounter worker="8">9469695</LocalCounter>
- <LocalCounter worker="9">9504090</LocalCounter>
- <LocalCounter worker="10">9467165</LocalCounter>
- <LocalCounter worker="11">9466779</LocalCounter>
- <LocalCounter worker="12">9469736</LocalCounter>
- <LocalCounter worker="13">9490753</LocalCounter>
- <LocalCounter worker="14">9470460</LocalCounter>
- <LocalCounter worker="15">9470100</LocalCounter>
- <LocalCounter worker="16">12081737</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>163623717</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">9528572</LocalCounter>
- <LocalCounter worker="1">9578324</LocalCounter>
- <LocalCounter worker="2">9512159</LocalCounter>
- <LocalCounter worker="3">9511743</LocalCounter>
- <LocalCounter worker="4">9526173</LocalCounter>
- <LocalCounter worker="5">9569951</LocalCounter>
- <LocalCounter worker="6">9534866</LocalCounter>
- <LocalCounter worker="7">9534526</LocalCounter>
- <LocalCounter worker="8">9544758</LocalCounter>
- <LocalCounter worker="9">9593215</LocalCounter>
- <LocalCounter worker="10">9539533</LocalCounter>
- <LocalCounter worker="11">9539119</LocalCounter>
- <LocalCounter worker="12">9545198</LocalCounter>
- <LocalCounter worker="13">9585695</LocalCounter>
- <LocalCounter worker="14">9543578</LocalCounter>
- <LocalCounter worker="15">9543186</LocalCounter>
- <LocalCounter worker="16">11927396</LocalCounter>
- <LocalCounter worker="17">11927804</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>176585796</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">9477447</LocalCounter>
- <LocalCounter worker="1">9564597</LocalCounter>
- <LocalCounter worker="2">9452396</LocalCounter>
- <LocalCounter worker="3">9451981</LocalCounter>
- <LocalCounter worker="4">9473225</LocalCounter>
- <LocalCounter worker="5">9533594</LocalCounter>
- <LocalCounter worker="6">9478730</LocalCounter>
- <LocalCounter worker="7">9478355</LocalCounter>
- <LocalCounter worker="8">9491282</LocalCounter>
- <LocalCounter worker="9">9542542</LocalCounter>
- <LocalCounter worker="10">9469974</LocalCounter>
- <LocalCounter worker="11">9469570</LocalCounter>
- <LocalCounter worker="12">9488649</LocalCounter>
- <LocalCounter worker="13">9533937</LocalCounter>
- <LocalCounter worker="14">9493941</LocalCounter>
- <LocalCounter worker="15">9493595</LocalCounter>
- <LocalCounter worker="16">10869069</LocalCounter>
- <LocalCounter worker="17">11610326</LocalCounter>
- <LocalCounter worker="18">11333158</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>185706368</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">9513336</LocalCounter>
- <LocalCounter worker="1">9581580</LocalCounter>
- <LocalCounter worker="2">9502256</LocalCounter>
- <LocalCounter worker="3">9501888</LocalCounter>
- <LocalCounter worker="4">9514403</LocalCounter>
- <LocalCounter worker="5">9561923</LocalCounter>
- <LocalCounter worker="6">9510586</LocalCounter>
- <LocalCounter worker="7">9510218</LocalCounter>
- <LocalCounter worker="8">9577756</LocalCounter>
- <LocalCounter worker="9">9601845</LocalCounter>
- <LocalCounter worker="10">9576720</LocalCounter>
- <LocalCounter worker="11">9576333</LocalCounter>
- <LocalCounter worker="12">9576562</LocalCounter>
- <LocalCounter worker="13">9591627</LocalCounter>
- <LocalCounter worker="14">9575875</LocalCounter>
- <LocalCounter worker="15">9575454</LocalCounter>
- <LocalCounter worker="16">10774344</LocalCounter>
- <LocalCounter worker="17">11131500</LocalCounter>
- <LocalCounter worker="18">10795173</LocalCounter>
- <LocalCounter worker="19">10794817</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>196344196</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">9489784</LocalCounter>
- <LocalCounter worker="1">9553505</LocalCounter>
- <LocalCounter worker="2">9480407</LocalCounter>
- <LocalCounter worker="3">9480031</LocalCounter>
- <LocalCounter worker="4">9487187</LocalCounter>
- <LocalCounter worker="5">9517609</LocalCounter>
- <LocalCounter worker="6">9490215</LocalCounter>
- <LocalCounter worker="7">9489795</LocalCounter>
- <LocalCounter worker="8">9480100</LocalCounter>
- <LocalCounter worker="9">9512956</LocalCounter>
- <LocalCounter worker="10">9469789</LocalCounter>
- <LocalCounter worker="11">9469408</LocalCounter>
- <LocalCounter worker="12">9478224</LocalCounter>
- <LocalCounter worker="13">9507407</LocalCounter>
- <LocalCounter worker="14">9480884</LocalCounter>
- <LocalCounter worker="15">9480522</LocalCounter>
- <LocalCounter worker="16">10558463</LocalCounter>
- <LocalCounter worker="17">10781768</LocalCounter>
- <LocalCounter worker="18">10586536</LocalCounter>
- <LocalCounter worker="19">10586157</LocalCounter>
- <LocalCounter worker="20">10751665</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>205132412</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">9529280</LocalCounter>
- <LocalCounter worker="1">9596479</LocalCounter>
- <LocalCounter worker="2">9526225</LocalCounter>
- <LocalCounter worker="3">9525841</LocalCounter>
- <LocalCounter worker="4">9530068</LocalCounter>
- <LocalCounter worker="5">9560604</LocalCounter>
- <LocalCounter worker="6">9526967</LocalCounter>
- <LocalCounter worker="7">9526692</LocalCounter>
- <LocalCounter worker="8">9535973</LocalCounter>
- <LocalCounter worker="9">9579641</LocalCounter>
- <LocalCounter worker="10">9521811</LocalCounter>
- <LocalCounter worker="11">9521452</LocalCounter>
- <LocalCounter worker="12">9533157</LocalCounter>
- <LocalCounter worker="13">9572320</LocalCounter>
- <LocalCounter worker="14">9537636</LocalCounter>
- <LocalCounter worker="15">9537265</LocalCounter>
- <LocalCounter worker="16">10282870</LocalCounter>
- <LocalCounter worker="17">10460861</LocalCounter>
- <LocalCounter worker="18">10307364</LocalCounter>
- <LocalCounter worker="19">10307036</LocalCounter>
- <LocalCounter worker="20">10284193</LocalCounter>
- <LocalCounter worker="21">10447335</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>214751070</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">9474195</LocalCounter>
- <LocalCounter worker="1">9526351</LocalCounter>
- <LocalCounter worker="2">9466045</LocalCounter>
- <LocalCounter worker="3">9465650</LocalCounter>
- <LocalCounter worker="4">9474273</LocalCounter>
- <LocalCounter worker="5">9509635</LocalCounter>
- <LocalCounter worker="6">9475163</LocalCounter>
- <LocalCounter worker="7">9474803</LocalCounter>
- <LocalCounter worker="8">9527687</LocalCounter>
- <LocalCounter worker="9">9582242</LocalCounter>
- <LocalCounter worker="10">9516774</LocalCounter>
- <LocalCounter worker="11">9516407</LocalCounter>
- <LocalCounter worker="12">9526734</LocalCounter>
- <LocalCounter worker="13">9556254</LocalCounter>
- <LocalCounter worker="14">9528842</LocalCounter>
- <LocalCounter worker="15">9528456</LocalCounter>
- <LocalCounter worker="16">9971596</LocalCounter>
- <LocalCounter worker="17">10094615</LocalCounter>
- <LocalCounter worker="18">9984885</LocalCounter>
- <LocalCounter worker="19">9984498</LocalCounter>
- <LocalCounter worker="20">9969546</LocalCounter>
- <LocalCounter worker="21">10080306</LocalCounter>
- <LocalCounter worker="22">10113352</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>222348309</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalMCSLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">9570183</LocalCounter>
- <LocalCounter worker="1">9596856</LocalCounter>
- <LocalCounter worker="2">9566396</LocalCounter>
- <LocalCounter worker="3">9565955</LocalCounter>
- <LocalCounter worker="4">9570347</LocalCounter>
- <LocalCounter worker="5">9592890</LocalCounter>
- <LocalCounter worker="6">9571708</LocalCounter>
- <LocalCounter worker="7">9571344</LocalCounter>
- <LocalCounter worker="8">9568931</LocalCounter>
- <LocalCounter worker="9">9609557</LocalCounter>
- <LocalCounter worker="10">9562498</LocalCounter>
- <LocalCounter worker="11">9562127</LocalCounter>
- <LocalCounter worker="12">9567335</LocalCounter>
- <LocalCounter worker="13">9602518</LocalCounter>
- <LocalCounter worker="14">9566096</LocalCounter>
- <LocalCounter worker="15">9565736</LocalCounter>
- <LocalCounter worker="16">9608409</LocalCounter>
- <LocalCounter worker="17">9631716</LocalCounter>
- <LocalCounter worker="18">9604886</LocalCounter>
- <LocalCounter worker="19">9604505</LocalCounter>
- <LocalCounter worker="20">9607807</LocalCounter>
- <LocalCounter worker="21">9629640</LocalCounter>
- <LocalCounter worker="22">9603907</LocalCounter>
- <LocalCounter worker="23">9629626</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>230130973</SumOfLocalCounter>
- </LocalMCSLockWithLocalCounter>
- <LocalTicketLockWithGlobalCounter activeWorker="24">
- <LocalCounter worker="0">903446</LocalCounter>
- <LocalCounter worker="1">903762</LocalCounter>
- <LocalCounter worker="2">903658</LocalCounter>
- <LocalCounter worker="3">903679</LocalCounter>
- <LocalCounter worker="4">903658</LocalCounter>
- <LocalCounter worker="5">903690</LocalCounter>
- <LocalCounter worker="6">903665</LocalCounter>
- <LocalCounter worker="7">903667</LocalCounter>
- <LocalCounter worker="8">905432</LocalCounter>
- <LocalCounter worker="9">905463</LocalCounter>
- <LocalCounter worker="10">905415</LocalCounter>
- <LocalCounter worker="11">905426</LocalCounter>
- <LocalCounter worker="12">905442</LocalCounter>
- <LocalCounter worker="13">905442</LocalCounter>
- <LocalCounter worker="14">905434</LocalCounter>
- <LocalCounter worker="15">905417</LocalCounter>
- <LocalCounter worker="16">902746</LocalCounter>
- <LocalCounter worker="17">902734</LocalCounter>
- <LocalCounter worker="18">902731</LocalCounter>
- <LocalCounter worker="19">902719</LocalCounter>
- <LocalCounter worker="20">902734</LocalCounter>
- <LocalCounter worker="21">902750</LocalCounter>
- <LocalCounter worker="22">902746</LocalCounter>
- <LocalCounter worker="23">902708</LocalCounter>
- <GlobalCounter>2057722</GlobalCounter>
- <SumOfLocalCounter>21694564</SumOfLocalCounter>
- </LocalTicketLockWithGlobalCounter>
- <LocalMCSLockWithGlobalCounter activeWorker="24">
- <LocalCounter worker="0">859801</LocalCounter>
- <LocalCounter worker="1">967785</LocalCounter>
- <LocalCounter worker="2">883645</LocalCounter>
- <LocalCounter worker="3">883619</LocalCounter>
- <LocalCounter worker="4">860037</LocalCounter>
- <LocalCounter worker="5">968025</LocalCounter>
- <LocalCounter worker="6">883058</LocalCounter>
- <LocalCounter worker="7">883016</LocalCounter>
- <LocalCounter worker="8">865337</LocalCounter>
- <LocalCounter worker="9">974824</LocalCounter>
- <LocalCounter worker="10">882369</LocalCounter>
- <LocalCounter worker="11">882341</LocalCounter>
- <LocalCounter worker="12">863544</LocalCounter>
- <LocalCounter worker="13">972159</LocalCounter>
- <LocalCounter worker="14">892721</LocalCounter>
- <LocalCounter worker="15">892715</LocalCounter>
- <LocalCounter worker="16">857049</LocalCounter>
- <LocalCounter worker="17">963725</LocalCounter>
- <LocalCounter worker="18">880627</LocalCounter>
- <LocalCounter worker="19">880584</LocalCounter>
- <LocalCounter worker="20">856853</LocalCounter>
- <LocalCounter worker="21">963380</LocalCounter>
- <LocalCounter worker="22">854026</LocalCounter>
- <LocalCounter worker="23">952345</LocalCounter>
- <GlobalCounter>1763851</GlobalCounter>
- <SumOfLocalCounter>21623585</SumOfLocalCounter>
- </LocalMCSLockWithGlobalCounter>
- <GlobalTicketLockWithBusySection activeWorker="24">
- <LocalCounter worker="0">122500</LocalCounter>
- <LocalCounter worker="1">122500</LocalCounter>
- <LocalCounter worker="2">122500</LocalCounter>
- <LocalCounter worker="3">122500</LocalCounter>
- <LocalCounter worker="4">122499</LocalCounter>
- <LocalCounter worker="5">122500</LocalCounter>
- <LocalCounter worker="6">122500</LocalCounter>
- <LocalCounter worker="7">122500</LocalCounter>
- <LocalCounter worker="8">122500</LocalCounter>
- <LocalCounter worker="9">122500</LocalCounter>
- <LocalCounter worker="10">122500</LocalCounter>
- <LocalCounter worker="11">122500</LocalCounter>
- <LocalCounter worker="12">122500</LocalCounter>
- <LocalCounter worker="13">122500</LocalCounter>
- <LocalCounter worker="14">122500</LocalCounter>
- <LocalCounter worker="15">122500</LocalCounter>
- <LocalCounter worker="16">122499</LocalCounter>
- <LocalCounter worker="17">122501</LocalCounter>
- <LocalCounter worker="18">122500</LocalCounter>
- <LocalCounter worker="19">122500</LocalCounter>
- <LocalCounter worker="20">122501</LocalCounter>
- <LocalCounter worker="21">122501</LocalCounter>
- <LocalCounter worker="22">122501</LocalCounter>
- <LocalCounter worker="23">122501</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2940003</SumOfLocalCounter>
- </GlobalTicketLockWithBusySection>
- <GlobalMCSLockWithBusySection activeWorker="24">
- <LocalCounter worker="0">109856</LocalCounter>
- <LocalCounter worker="1">109857</LocalCounter>
- <LocalCounter worker="2">109857</LocalCounter>
- <LocalCounter worker="3">109856</LocalCounter>
- <LocalCounter worker="4">109857</LocalCounter>
- <LocalCounter worker="5">109856</LocalCounter>
- <LocalCounter worker="6">109857</LocalCounter>
- <LocalCounter worker="7">109857</LocalCounter>
- <LocalCounter worker="8">109856</LocalCounter>
- <LocalCounter worker="9">109856</LocalCounter>
- <LocalCounter worker="10">109857</LocalCounter>
- <LocalCounter worker="11">109858</LocalCounter>
- <LocalCounter worker="12">109858</LocalCounter>
- <LocalCounter worker="13">109857</LocalCounter>
- <LocalCounter worker="14">109856</LocalCounter>
- <LocalCounter worker="15">109856</LocalCounter>
- <LocalCounter worker="16">109858</LocalCounter>
- <LocalCounter worker="17">109857</LocalCounter>
- <LocalCounter worker="18">109857</LocalCounter>
- <LocalCounter worker="19">109857</LocalCounter>
- <LocalCounter worker="20">109856</LocalCounter>
- <LocalCounter worker="21">109857</LocalCounter>
- <LocalCounter worker="22">109856</LocalCounter>
- <LocalCounter worker="23">109857</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2636562</SumOfLocalCounter>
- </GlobalMCSLockWithBusySection>
- <SequenceLock activeWorker="24">
- <LocalCounter worker="0">2443697</LocalCounter>
- <LocalCounter worker="1">1</LocalCounter>
- <LocalCounter worker="2">11</LocalCounter>
- <LocalCounter worker="3">19</LocalCounter>
- <LocalCounter worker="4">34</LocalCounter>
- <LocalCounter worker="5">4</LocalCounter>
- <LocalCounter worker="6">11</LocalCounter>
- <LocalCounter worker="7">27</LocalCounter>
- <LocalCounter worker="8">738</LocalCounter>
- <LocalCounter worker="9">715</LocalCounter>
- <LocalCounter worker="10">708</LocalCounter>
- <LocalCounter worker="11">710</LocalCounter>
- <LocalCounter worker="12">716</LocalCounter>
- <LocalCounter worker="13">722</LocalCounter>
- <LocalCounter worker="14">663</LocalCounter>
- <LocalCounter worker="15">680</LocalCounter>
- <LocalCounter worker="16">818</LocalCounter>
- <LocalCounter worker="17">816</LocalCounter>
- <LocalCounter worker="18">798</LocalCounter>
- <LocalCounter worker="19">793</LocalCounter>
- <LocalCounter worker="20">749</LocalCounter>
- <LocalCounter worker="21">737</LocalCounter>
- <LocalCounter worker="22">681</LocalCounter>
- <LocalCounter worker="23">713</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2455561</SumOfLocalCounter>
- </SequenceLock>
- <GlobalTASLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">19899718</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19899718</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">11323121</LocalCounter>
- <LocalCounter worker="1">8390566</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19713687</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">3505442</LocalCounter>
- <LocalCounter worker="1">3505599</LocalCounter>
- <LocalCounter worker="2">12137521</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19148562</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">3973366</LocalCounter>
- <LocalCounter worker="1">3973543</LocalCounter>
- <LocalCounter worker="2">5643661</LocalCounter>
- <LocalCounter worker="3">5644098</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19234668</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">3605358</LocalCounter>
- <LocalCounter worker="1">3605432</LocalCounter>
- <LocalCounter worker="2">5184535</LocalCounter>
- <LocalCounter worker="3">5184801</LocalCounter>
- <LocalCounter worker="4">1514959</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19095085</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">3062204</LocalCounter>
- <LocalCounter worker="1">3061638</LocalCounter>
- <LocalCounter worker="2">2657329</LocalCounter>
- <LocalCounter worker="3">2657997</LocalCounter>
- <LocalCounter worker="4">3694149</LocalCounter>
- <LocalCounter worker="5">3693569</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18826886</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">1413952</LocalCounter>
- <LocalCounter worker="1">1413322</LocalCounter>
- <LocalCounter worker="2">5634774</LocalCounter>
- <LocalCounter worker="3">5634907</LocalCounter>
- <LocalCounter worker="4">807079</LocalCounter>
- <LocalCounter worker="5">806823</LocalCounter>
- <LocalCounter worker="6">2780299</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18491156</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">2266504</LocalCounter>
- <LocalCounter worker="1">2264023</LocalCounter>
- <LocalCounter worker="2">2150464</LocalCounter>
- <LocalCounter worker="3">2152501</LocalCounter>
- <LocalCounter worker="4">2234184</LocalCounter>
- <LocalCounter worker="5">2235885</LocalCounter>
- <LocalCounter worker="6">2045159</LocalCounter>
- <LocalCounter worker="7">2042094</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>17390814</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">378978</LocalCounter>
- <LocalCounter worker="1">493897</LocalCounter>
- <LocalCounter worker="2">540956</LocalCounter>
- <LocalCounter worker="3">307717</LocalCounter>
- <LocalCounter worker="4">559266</LocalCounter>
- <LocalCounter worker="5">435771</LocalCounter>
- <LocalCounter worker="6">289002</LocalCounter>
- <LocalCounter worker="7">524768</LocalCounter>
- <LocalCounter worker="8">904</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3531259</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">315240</LocalCounter>
- <LocalCounter worker="1">314639</LocalCounter>
- <LocalCounter worker="2">343225</LocalCounter>
- <LocalCounter worker="3">343430</LocalCounter>
- <LocalCounter worker="4">330617</LocalCounter>
- <LocalCounter worker="5">273430</LocalCounter>
- <LocalCounter worker="6">114457</LocalCounter>
- <LocalCounter worker="7">400594</LocalCounter>
- <LocalCounter worker="8">199708</LocalCounter>
- <LocalCounter worker="9">398954</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3034294</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">398649</LocalCounter>
- <LocalCounter worker="1">243725</LocalCounter>
- <LocalCounter worker="2">313197</LocalCounter>
- <LocalCounter worker="3">341559</LocalCounter>
- <LocalCounter worker="4">400879</LocalCounter>
- <LocalCounter worker="5">485957</LocalCounter>
- <LocalCounter worker="6">256149</LocalCounter>
- <LocalCounter worker="7">312463</LocalCounter>
- <LocalCounter worker="8">79929</LocalCounter>
- <LocalCounter worker="9">79959</LocalCounter>
- <LocalCounter worker="10">61</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2912527</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">200097</LocalCounter>
- <LocalCounter worker="1">314280</LocalCounter>
- <LocalCounter worker="2">484541</LocalCounter>
- <LocalCounter worker="3">400413</LocalCounter>
- <LocalCounter worker="4">187776</LocalCounter>
- <LocalCounter worker="5">244998</LocalCounter>
- <LocalCounter worker="6">244859</LocalCounter>
- <LocalCounter worker="7">330577</LocalCounter>
- <LocalCounter worker="8">159931</LocalCounter>
- <LocalCounter worker="9">122121</LocalCounter>
- <LocalCounter worker="10">159973</LocalCounter>
- <LocalCounter worker="11">199451</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3049017</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">104</LocalCounter>
- <LocalCounter worker="1">145</LocalCounter>
- <LocalCounter worker="2">209</LocalCounter>
- <LocalCounter worker="3">169</LocalCounter>
- <LocalCounter worker="4">206</LocalCounter>
- <LocalCounter worker="5">120</LocalCounter>
- <LocalCounter worker="6">166</LocalCounter>
- <LocalCounter worker="7">188</LocalCounter>
- <LocalCounter worker="8">798353</LocalCounter>
- <LocalCounter worker="9">639101</LocalCounter>
- <LocalCounter worker="10">1237960</LocalCounter>
- <LocalCounter worker="11">840661</LocalCounter>
- <LocalCounter worker="12">439274</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3956656</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">80</LocalCounter>
- <LocalCounter worker="1">111</LocalCounter>
- <LocalCounter worker="2">119</LocalCounter>
- <LocalCounter worker="3">149</LocalCounter>
- <LocalCounter worker="4">169</LocalCounter>
- <LocalCounter worker="5">117</LocalCounter>
- <LocalCounter worker="6">126</LocalCounter>
- <LocalCounter worker="7">139</LocalCounter>
- <LocalCounter worker="8">574829</LocalCounter>
- <LocalCounter worker="9">803988</LocalCounter>
- <LocalCounter worker="10">370549</LocalCounter>
- <LocalCounter worker="11">846318</LocalCounter>
- <LocalCounter worker="12">608269</LocalCounter>
- <LocalCounter worker="13">608119</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3813082</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">8</LocalCounter>
- <LocalCounter worker="1">20</LocalCounter>
- <LocalCounter worker="2">34</LocalCounter>
- <LocalCounter worker="3">65</LocalCounter>
- <LocalCounter worker="4">84</LocalCounter>
- <LocalCounter worker="5">38</LocalCounter>
- <LocalCounter worker="6">60</LocalCounter>
- <LocalCounter worker="7">95</LocalCounter>
- <LocalCounter worker="8">482715</LocalCounter>
- <LocalCounter worker="9">607538</LocalCounter>
- <LocalCounter worker="10">482392</LocalCounter>
- <LocalCounter worker="11">667855</LocalCounter>
- <LocalCounter worker="12">409336</LocalCounter>
- <LocalCounter worker="13">630426</LocalCounter>
- <LocalCounter worker="14">408163</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3688829</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">117285</LocalCounter>
- <LocalCounter worker="1">117670</LocalCounter>
- <LocalCounter worker="2">117122</LocalCounter>
- <LocalCounter worker="3">116813</LocalCounter>
- <LocalCounter worker="4">117713</LocalCounter>
- <LocalCounter worker="5">117774</LocalCounter>
- <LocalCounter worker="6">117459</LocalCounter>
- <LocalCounter worker="7">117328</LocalCounter>
- <LocalCounter worker="8">303833</LocalCounter>
- <LocalCounter worker="9">326784</LocalCounter>
- <LocalCounter worker="10">277325</LocalCounter>
- <LocalCounter worker="11">373516</LocalCounter>
- <LocalCounter worker="12">263215</LocalCounter>
- <LocalCounter worker="13">390871</LocalCounter>
- <LocalCounter worker="14">446935</LocalCounter>
- <LocalCounter worker="15">301501</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3623144</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">341558</LocalCounter>
- <LocalCounter worker="1">231787</LocalCounter>
- <LocalCounter worker="2">347677</LocalCounter>
- <LocalCounter worker="3">218478</LocalCounter>
- <LocalCounter worker="4">303719</LocalCounter>
- <LocalCounter worker="5">154437</LocalCounter>
- <LocalCounter worker="6">229631</LocalCounter>
- <LocalCounter worker="7">216461</LocalCounter>
- <LocalCounter worker="8">123537</LocalCounter>
- <LocalCounter worker="9">103366</LocalCounter>
- <LocalCounter worker="10">55161</LocalCounter>
- <LocalCounter worker="11">90025</LocalCounter>
- <LocalCounter worker="12">84691</LocalCounter>
- <LocalCounter worker="13">68924</LocalCounter>
- <LocalCounter worker="14">53786</LocalCounter>
- <LocalCounter worker="15">190767</LocalCounter>
- <LocalCounter worker="16">986</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2814991</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">200069</LocalCounter>
- <LocalCounter worker="1">264598</LocalCounter>
- <LocalCounter worker="2">170182</LocalCounter>
- <LocalCounter worker="3">138554</LocalCounter>
- <LocalCounter worker="4">102824</LocalCounter>
- <LocalCounter worker="5">175867</LocalCounter>
- <LocalCounter worker="6">284187</LocalCounter>
- <LocalCounter worker="7">164345</LocalCounter>
- <LocalCounter worker="8">233732</LocalCounter>
- <LocalCounter worker="9">178177</LocalCounter>
- <LocalCounter worker="10">140189</LocalCounter>
- <LocalCounter worker="11">153958</LocalCounter>
- <LocalCounter worker="12">123252</LocalCounter>
- <LocalCounter worker="13">227322</LocalCounter>
- <LocalCounter worker="14">194095</LocalCounter>
- <LocalCounter worker="15">54981</LocalCounter>
- <LocalCounter worker="16">1079</LocalCounter>
- <LocalCounter worker="17">1026</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2808437</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">321115</LocalCounter>
- <LocalCounter worker="1">371397</LocalCounter>
- <LocalCounter worker="2">225899</LocalCounter>
- <LocalCounter worker="3">354262</LocalCounter>
- <LocalCounter worker="4">361476</LocalCounter>
- <LocalCounter worker="5">350114</LocalCounter>
- <LocalCounter worker="6">291933</LocalCounter>
- <LocalCounter worker="7">196999</LocalCounter>
- <LocalCounter worker="8">22397</LocalCounter>
- <LocalCounter worker="9">25153</LocalCounter>
- <LocalCounter worker="10">102182</LocalCounter>
- <LocalCounter worker="11">21372</LocalCounter>
- <LocalCounter worker="12">70582</LocalCounter>
- <LocalCounter worker="13">29948</LocalCounter>
- <LocalCounter worker="14">18969</LocalCounter>
- <LocalCounter worker="15">57177</LocalCounter>
- <LocalCounter worker="16">477</LocalCounter>
- <LocalCounter worker="17">391</LocalCounter>
- <LocalCounter worker="18">916</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2822759</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">393436</LocalCounter>
- <LocalCounter worker="1">309283</LocalCounter>
- <LocalCounter worker="2">168529</LocalCounter>
- <LocalCounter worker="3">224983</LocalCounter>
- <LocalCounter worker="4">196844</LocalCounter>
- <LocalCounter worker="5">140974</LocalCounter>
- <LocalCounter worker="6">197196</LocalCounter>
- <LocalCounter worker="7">84830</LocalCounter>
- <LocalCounter worker="8">111946</LocalCounter>
- <LocalCounter worker="9">111914</LocalCounter>
- <LocalCounter worker="10">112325</LocalCounter>
- <LocalCounter worker="11">112014</LocalCounter>
- <LocalCounter worker="12">168007</LocalCounter>
- <LocalCounter worker="13">111972</LocalCounter>
- <LocalCounter worker="14">112201</LocalCounter>
- <LocalCounter worker="15">252562</LocalCounter>
- <LocalCounter worker="16">49</LocalCounter>
- <LocalCounter worker="17">41</LocalCounter>
- <LocalCounter worker="18">37</LocalCounter>
- <LocalCounter worker="19">44</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2809187</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">183153</LocalCounter>
- <LocalCounter worker="1">263091</LocalCounter>
- <LocalCounter worker="2">196238</LocalCounter>
- <LocalCounter worker="3">56135</LocalCounter>
- <LocalCounter worker="4">252253</LocalCounter>
- <LocalCounter worker="5">112377</LocalCounter>
- <LocalCounter worker="6">168624</LocalCounter>
- <LocalCounter worker="7">252596</LocalCounter>
- <LocalCounter worker="8">195948</LocalCounter>
- <LocalCounter worker="9">43703</LocalCounter>
- <LocalCounter worker="10">140073</LocalCounter>
- <LocalCounter worker="11">223721</LocalCounter>
- <LocalCounter worker="12">251924</LocalCounter>
- <LocalCounter worker="13">169611</LocalCounter>
- <LocalCounter worker="14">112360</LocalCounter>
- <LocalCounter worker="15">168176</LocalCounter>
- <LocalCounter worker="16">41</LocalCounter>
- <LocalCounter worker="17">14</LocalCounter>
- <LocalCounter worker="18">29</LocalCounter>
- <LocalCounter worker="19">41</LocalCounter>
- <LocalCounter worker="20">41</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2790149</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">84315</LocalCounter>
- <LocalCounter worker="1">168428</LocalCounter>
- <LocalCounter worker="2">56084</LocalCounter>
- <LocalCounter worker="3">280784</LocalCounter>
- <LocalCounter worker="4">160642</LocalCounter>
- <LocalCounter worker="5">195812</LocalCounter>
- <LocalCounter worker="6">224182</LocalCounter>
- <LocalCounter worker="7">112335</LocalCounter>
- <LocalCounter worker="8">223416</LocalCounter>
- <LocalCounter worker="9">279221</LocalCounter>
- <LocalCounter worker="10">223306</LocalCounter>
- <LocalCounter worker="11">195550</LocalCounter>
- <LocalCounter worker="12">83826</LocalCounter>
- <LocalCounter worker="13">83644</LocalCounter>
- <LocalCounter worker="14">153478</LocalCounter>
- <LocalCounter worker="15">251574</LocalCounter>
- <LocalCounter worker="16">31</LocalCounter>
- <LocalCounter worker="17">17</LocalCounter>
- <LocalCounter worker="18">26</LocalCounter>
- <LocalCounter worker="19">27</LocalCounter>
- <LocalCounter worker="20">31</LocalCounter>
- <LocalCounter worker="21">22</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2776751</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">251094</LocalCounter>
- <LocalCounter worker="1">111612</LocalCounter>
- <LocalCounter worker="2">111946</LocalCounter>
- <LocalCounter worker="3">250878</LocalCounter>
- <LocalCounter worker="4">270360</LocalCounter>
- <LocalCounter worker="5">83918</LocalCounter>
- <LocalCounter worker="6">167667</LocalCounter>
- <LocalCounter worker="7">251032</LocalCounter>
- <LocalCounter worker="8">201670</LocalCounter>
- <LocalCounter worker="9">195227</LocalCounter>
- <LocalCounter worker="10">167446</LocalCounter>
- <LocalCounter worker="11">194880</LocalCounter>
- <LocalCounter worker="12">194852</LocalCounter>
- <LocalCounter worker="13">83768</LocalCounter>
- <LocalCounter worker="14">160169</LocalCounter>
- <LocalCounter worker="15">83658</LocalCounter>
- <LocalCounter worker="16">141</LocalCounter>
- <LocalCounter worker="17">133</LocalCounter>
- <LocalCounter worker="18">122</LocalCounter>
- <LocalCounter worker="19">117</LocalCounter>
- <LocalCounter worker="20">136</LocalCounter>
- <LocalCounter worker="21">115</LocalCounter>
- <LocalCounter worker="22">104</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2781045</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTASLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">132034</LocalCounter>
- <LocalCounter worker="1">131676</LocalCounter>
- <LocalCounter worker="2">132311</LocalCounter>
- <LocalCounter worker="3">131443</LocalCounter>
- <LocalCounter worker="4">132250</LocalCounter>
- <LocalCounter worker="5">131733</LocalCounter>
- <LocalCounter worker="6">131193</LocalCounter>
- <LocalCounter worker="7">131281</LocalCounter>
- <LocalCounter worker="8">122650</LocalCounter>
- <LocalCounter worker="9">123113</LocalCounter>
- <LocalCounter worker="10">123745</LocalCounter>
- <LocalCounter worker="11">123264</LocalCounter>
- <LocalCounter worker="12">123158</LocalCounter>
- <LocalCounter worker="13">122764</LocalCounter>
- <LocalCounter worker="14">123050</LocalCounter>
- <LocalCounter worker="15">123616</LocalCounter>
- <LocalCounter worker="16">122054</LocalCounter>
- <LocalCounter worker="17">122876</LocalCounter>
- <LocalCounter worker="18">122080</LocalCounter>
- <LocalCounter worker="19">121904</LocalCounter>
- <LocalCounter worker="20">122223</LocalCounter>
- <LocalCounter worker="21">122088</LocalCounter>
- <LocalCounter worker="22">121899</LocalCounter>
- <LocalCounter worker="23">122670</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3017075</SumOfLocalCounter>
- </GlobalTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="1">
- <LocalCounter worker="0">19645977</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19645977</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="2">
- <LocalCounter worker="0">4310217</LocalCounter>
- <LocalCounter worker="1">15293675</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19603892</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="3">
- <LocalCounter worker="0">9402863</LocalCounter>
- <LocalCounter worker="1">9226207</LocalCounter>
- <LocalCounter worker="2">437594</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19066664</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="4">
- <LocalCounter worker="0">3386951</LocalCounter>
- <LocalCounter worker="1">3201931</LocalCounter>
- <LocalCounter worker="2">6304744</LocalCounter>
- <LocalCounter worker="3">6305238</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>19198864</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="5">
- <LocalCounter worker="0">4092852</LocalCounter>
- <LocalCounter worker="1">3899527</LocalCounter>
- <LocalCounter worker="2">2520768</LocalCounter>
- <LocalCounter worker="3">2175848</LocalCounter>
- <LocalCounter worker="4">5948549</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18637544</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="6">
- <LocalCounter worker="0">2597841</LocalCounter>
- <LocalCounter worker="1">2443137</LocalCounter>
- <LocalCounter worker="2">3331024</LocalCounter>
- <LocalCounter worker="3">2708000</LocalCounter>
- <LocalCounter worker="4">4093981</LocalCounter>
- <LocalCounter worker="5">3080494</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18254477</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="7">
- <LocalCounter worker="0">1216614</LocalCounter>
- <LocalCounter worker="1">2258952</LocalCounter>
- <LocalCounter worker="2">1291063</LocalCounter>
- <LocalCounter worker="3">1114575</LocalCounter>
- <LocalCounter worker="4">5532606</LocalCounter>
- <LocalCounter worker="5">5466345</LocalCounter>
- <LocalCounter worker="6">1405693</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>18285848</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="8">
- <LocalCounter worker="0">2086492</LocalCounter>
- <LocalCounter worker="1">2244683</LocalCounter>
- <LocalCounter worker="2">2112130</LocalCounter>
- <LocalCounter worker="3">2067114</LocalCounter>
- <LocalCounter worker="4">2081711</LocalCounter>
- <LocalCounter worker="5">2090180</LocalCounter>
- <LocalCounter worker="6">2168032</LocalCounter>
- <LocalCounter worker="7">2534478</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>17384820</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="9">
- <LocalCounter worker="0">634132</LocalCounter>
- <LocalCounter worker="1">601192</LocalCounter>
- <LocalCounter worker="2">480382</LocalCounter>
- <LocalCounter worker="3">657643</LocalCounter>
- <LocalCounter worker="4">592079</LocalCounter>
- <LocalCounter worker="5">740174</LocalCounter>
- <LocalCounter worker="6">465043</LocalCounter>
- <LocalCounter worker="7">642726</LocalCounter>
- <LocalCounter worker="8">3226</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>4816597</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="10">
- <LocalCounter worker="0">142972</LocalCounter>
- <LocalCounter worker="1">387723</LocalCounter>
- <LocalCounter worker="2">457567</LocalCounter>
- <LocalCounter worker="3">302196</LocalCounter>
- <LocalCounter worker="4">314638</LocalCounter>
- <LocalCounter worker="5">457645</LocalCounter>
- <LocalCounter worker="6">371900</LocalCounter>
- <LocalCounter worker="7">428999</LocalCounter>
- <LocalCounter worker="8">691</LocalCounter>
- <LocalCounter worker="9">362</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2864693</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="11">
- <LocalCounter worker="0">355770</LocalCounter>
- <LocalCounter worker="1">383778</LocalCounter>
- <LocalCounter worker="2">369646</LocalCounter>
- <LocalCounter worker="3">256341</LocalCounter>
- <LocalCounter worker="4">327558</LocalCounter>
- <LocalCounter worker="5">242178</LocalCounter>
- <LocalCounter worker="6">398681</LocalCounter>
- <LocalCounter worker="7">483955</LocalCounter>
- <LocalCounter worker="8">176</LocalCounter>
- <LocalCounter worker="9">201</LocalCounter>
- <LocalCounter worker="10">67</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2818351</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="12">
- <LocalCounter worker="0">457238</LocalCounter>
- <LocalCounter worker="1">142885</LocalCounter>
- <LocalCounter worker="2">416308</LocalCounter>
- <LocalCounter worker="3">318737</LocalCounter>
- <LocalCounter worker="4">371610</LocalCounter>
- <LocalCounter worker="5">228382</LocalCounter>
- <LocalCounter worker="6">429095</LocalCounter>
- <LocalCounter worker="7">502040</LocalCounter>
- <LocalCounter worker="8">160</LocalCounter>
- <LocalCounter worker="9">115</LocalCounter>
- <LocalCounter worker="10">191</LocalCounter>
- <LocalCounter worker="11">108</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2866869</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="13">
- <LocalCounter worker="0">155562</LocalCounter>
- <LocalCounter worker="1">155271</LocalCounter>
- <LocalCounter worker="2">154524</LocalCounter>
- <LocalCounter worker="3">155620</LocalCounter>
- <LocalCounter worker="4">155737</LocalCounter>
- <LocalCounter worker="5">155945</LocalCounter>
- <LocalCounter worker="6">156319</LocalCounter>
- <LocalCounter worker="7">155596</LocalCounter>
- <LocalCounter worker="8">526245</LocalCounter>
- <LocalCounter worker="9">524881</LocalCounter>
- <LocalCounter worker="10">495452</LocalCounter>
- <LocalCounter worker="11">497374</LocalCounter>
- <LocalCounter worker="12">586585</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3875111</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="14">
- <LocalCounter worker="0">862</LocalCounter>
- <LocalCounter worker="1">739</LocalCounter>
- <LocalCounter worker="2">902</LocalCounter>
- <LocalCounter worker="3">876</LocalCounter>
- <LocalCounter worker="4">922</LocalCounter>
- <LocalCounter worker="5">881</LocalCounter>
- <LocalCounter worker="6">877</LocalCounter>
- <LocalCounter worker="7">945</LocalCounter>
- <LocalCounter worker="8">798225</LocalCounter>
- <LocalCounter worker="9">545250</LocalCounter>
- <LocalCounter worker="10">758729</LocalCounter>
- <LocalCounter worker="11">466001</LocalCounter>
- <LocalCounter worker="12">638255</LocalCounter>
- <LocalCounter worker="13">660193</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3873657</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="15">
- <LocalCounter worker="0">198289</LocalCounter>
- <LocalCounter worker="1">203179</LocalCounter>
- <LocalCounter worker="2">199945</LocalCounter>
- <LocalCounter worker="3">199124</LocalCounter>
- <LocalCounter worker="4">201799</LocalCounter>
- <LocalCounter worker="5">199812</LocalCounter>
- <LocalCounter worker="6">199839</LocalCounter>
- <LocalCounter worker="7">199732</LocalCounter>
- <LocalCounter worker="8">314842</LocalCounter>
- <LocalCounter worker="9">291197</LocalCounter>
- <LocalCounter worker="10">294608</LocalCounter>
- <LocalCounter worker="11">286440</LocalCounter>
- <LocalCounter worker="12">375388</LocalCounter>
- <LocalCounter worker="13">316600</LocalCounter>
- <LocalCounter worker="14">354856</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3835650</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="16">
- <LocalCounter worker="0">104577</LocalCounter>
- <LocalCounter worker="1">489911</LocalCounter>
- <LocalCounter worker="2">466186</LocalCounter>
- <LocalCounter worker="3">366690</LocalCounter>
- <LocalCounter worker="4">252721</LocalCounter>
- <LocalCounter worker="5">460887</LocalCounter>
- <LocalCounter worker="6">253823</LocalCounter>
- <LocalCounter worker="7">113506</LocalCounter>
- <LocalCounter worker="8">120249</LocalCounter>
- <LocalCounter worker="9">46275</LocalCounter>
- <LocalCounter worker="10">159071</LocalCounter>
- <LocalCounter worker="11">83449</LocalCounter>
- <LocalCounter worker="12">177618</LocalCounter>
- <LocalCounter worker="13">120903</LocalCounter>
- <LocalCounter worker="14">191314</LocalCounter>
- <LocalCounter worker="15">263287</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>3670467</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="17">
- <LocalCounter worker="0">234559</LocalCounter>
- <LocalCounter worker="1">118245</LocalCounter>
- <LocalCounter worker="2">219127</LocalCounter>
- <LocalCounter worker="3">295109</LocalCounter>
- <LocalCounter worker="4">248960</LocalCounter>
- <LocalCounter worker="5">181934</LocalCounter>
- <LocalCounter worker="6">297815</LocalCounter>
- <LocalCounter worker="7">322059</LocalCounter>
- <LocalCounter worker="8">163004</LocalCounter>
- <LocalCounter worker="9">174212</LocalCounter>
- <LocalCounter worker="10">26569</LocalCounter>
- <LocalCounter worker="11">77433</LocalCounter>
- <LocalCounter worker="12">133062</LocalCounter>
- <LocalCounter worker="13">232843</LocalCounter>
- <LocalCounter worker="14">33886</LocalCounter>
- <LocalCounter worker="15">82456</LocalCounter>
- <LocalCounter worker="16">4914</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2846187</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="18">
- <LocalCounter worker="0">271262</LocalCounter>
- <LocalCounter worker="1">355312</LocalCounter>
- <LocalCounter worker="2">50921</LocalCounter>
- <LocalCounter worker="3">148825</LocalCounter>
- <LocalCounter worker="4">245230</LocalCounter>
- <LocalCounter worker="5">182256</LocalCounter>
- <LocalCounter worker="6">187273</LocalCounter>
- <LocalCounter worker="7">255451</LocalCounter>
- <LocalCounter worker="8">185514</LocalCounter>
- <LocalCounter worker="9">44729</LocalCounter>
- <LocalCounter worker="10">112757</LocalCounter>
- <LocalCounter worker="11">98411</LocalCounter>
- <LocalCounter worker="12">207969</LocalCounter>
- <LocalCounter worker="13">185668</LocalCounter>
- <LocalCounter worker="14">172032</LocalCounter>
- <LocalCounter worker="15">109135</LocalCounter>
- <LocalCounter worker="16">2423</LocalCounter>
- <LocalCounter worker="17">2380</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2817548</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="19">
- <LocalCounter worker="0">261804</LocalCounter>
- <LocalCounter worker="1">234937</LocalCounter>
- <LocalCounter worker="2">211116</LocalCounter>
- <LocalCounter worker="3">198275</LocalCounter>
- <LocalCounter worker="4">153636</LocalCounter>
- <LocalCounter worker="5">353607</LocalCounter>
- <LocalCounter worker="6">368351</LocalCounter>
- <LocalCounter worker="7">369817</LocalCounter>
- <LocalCounter worker="8">117702</LocalCounter>
- <LocalCounter worker="9">41853</LocalCounter>
- <LocalCounter worker="10">75374</LocalCounter>
- <LocalCounter worker="11">125194</LocalCounter>
- <LocalCounter worker="12">87239</LocalCounter>
- <LocalCounter worker="13">58610</LocalCounter>
- <LocalCounter worker="14">63622</LocalCounter>
- <LocalCounter worker="15">96700</LocalCounter>
- <LocalCounter worker="16">1021</LocalCounter>
- <LocalCounter worker="17">966</LocalCounter>
- <LocalCounter worker="18">985</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2820809</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="20">
- <LocalCounter worker="0">251976</LocalCounter>
- <LocalCounter worker="1">118001</LocalCounter>
- <LocalCounter worker="2">84641</LocalCounter>
- <LocalCounter worker="3">140476</LocalCounter>
- <LocalCounter worker="4">77669</LocalCounter>
- <LocalCounter worker="5">274047</LocalCounter>
- <LocalCounter worker="6">318570</LocalCounter>
- <LocalCounter worker="7">170363</LocalCounter>
- <LocalCounter worker="8">252676</LocalCounter>
- <LocalCounter worker="9">140874</LocalCounter>
- <LocalCounter worker="10">189186</LocalCounter>
- <LocalCounter worker="11">121034</LocalCounter>
- <LocalCounter worker="12">161358</LocalCounter>
- <LocalCounter worker="13">165381</LocalCounter>
- <LocalCounter worker="14">141826</LocalCounter>
- <LocalCounter worker="15">205937</LocalCounter>
- <LocalCounter worker="16">118</LocalCounter>
- <LocalCounter worker="17">77</LocalCounter>
- <LocalCounter worker="18">70</LocalCounter>
- <LocalCounter worker="19">94</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2814374</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="21">
- <LocalCounter worker="0">84213</LocalCounter>
- <LocalCounter worker="1">196158</LocalCounter>
- <LocalCounter worker="2">196680</LocalCounter>
- <LocalCounter worker="3">112159</LocalCounter>
- <LocalCounter worker="4">224637</LocalCounter>
- <LocalCounter worker="5">252342</LocalCounter>
- <LocalCounter worker="6">140314</LocalCounter>
- <LocalCounter worker="7">84179</LocalCounter>
- <LocalCounter worker="8">223626</LocalCounter>
- <LocalCounter worker="9">196078</LocalCounter>
- <LocalCounter worker="10">111882</LocalCounter>
- <LocalCounter worker="11">238331</LocalCounter>
- <LocalCounter worker="12">252259</LocalCounter>
- <LocalCounter worker="13">195491</LocalCounter>
- <LocalCounter worker="14">83883</LocalCounter>
- <LocalCounter worker="15">195126</LocalCounter>
- <LocalCounter worker="16">52</LocalCounter>
- <LocalCounter worker="17">26</LocalCounter>
- <LocalCounter worker="18">35</LocalCounter>
- <LocalCounter worker="19">44</LocalCounter>
- <LocalCounter worker="20">41</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2787556</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="22">
- <LocalCounter worker="0">31503</LocalCounter>
- <LocalCounter worker="1">252623</LocalCounter>
- <LocalCounter worker="2">196406</LocalCounter>
- <LocalCounter worker="3">168591</LocalCounter>
- <LocalCounter worker="4">140544</LocalCounter>
- <LocalCounter worker="5">168154</LocalCounter>
- <LocalCounter worker="6">280249</LocalCounter>
- <LocalCounter worker="7">168483</LocalCounter>
- <LocalCounter worker="8">195559</LocalCounter>
- <LocalCounter worker="9">55718</LocalCounter>
- <LocalCounter worker="10">139401</LocalCounter>
- <LocalCounter worker="11">251481</LocalCounter>
- <LocalCounter worker="12">222605</LocalCounter>
- <LocalCounter worker="13">111214</LocalCounter>
- <LocalCounter worker="14">139519</LocalCounter>
- <LocalCounter worker="15">251258</LocalCounter>
- <LocalCounter worker="16">46</LocalCounter>
- <LocalCounter worker="17">26</LocalCounter>
- <LocalCounter worker="18">31</LocalCounter>
- <LocalCounter worker="19">39</LocalCounter>
- <LocalCounter worker="20">39</LocalCounter>
- <LocalCounter worker="21">41</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2773530</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="23">
- <LocalCounter worker="0">139311</LocalCounter>
- <LocalCounter worker="1">167336</LocalCounter>
- <LocalCounter worker="2">278426</LocalCounter>
- <LocalCounter worker="3">55951</LocalCounter>
- <LocalCounter worker="4">139626</LocalCounter>
- <LocalCounter worker="5">250691</LocalCounter>
- <LocalCounter worker="6">223121</LocalCounter>
- <LocalCounter worker="7">83809</LocalCounter>
- <LocalCounter worker="8">194537</LocalCounter>
- <LocalCounter worker="9">278533</LocalCounter>
- <LocalCounter worker="10">139061</LocalCounter>
- <LocalCounter worker="11">223216</LocalCounter>
- <LocalCounter worker="12">194994</LocalCounter>
- <LocalCounter worker="13">111343</LocalCounter>
- <LocalCounter worker="14">186244</LocalCounter>
- <LocalCounter worker="15">111364</LocalCounter>
- <LocalCounter worker="16">142</LocalCounter>
- <LocalCounter worker="17">126</LocalCounter>
- <LocalCounter worker="18">121</LocalCounter>
- <LocalCounter worker="19">122</LocalCounter>
- <LocalCounter worker="20">124</LocalCounter>
- <LocalCounter worker="21">125</LocalCounter>
- <LocalCounter worker="22">124</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2778447</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
- <GlobalTTASLockWithLocalCounter activeWorker="24">
- <LocalCounter worker="0">127539</LocalCounter>
- <LocalCounter worker="1">128004</LocalCounter>
- <LocalCounter worker="2">127243</LocalCounter>
- <LocalCounter worker="3">128231</LocalCounter>
- <LocalCounter worker="4">128122</LocalCounter>
- <LocalCounter worker="5">127956</LocalCounter>
- <LocalCounter worker="6">128394</LocalCounter>
- <LocalCounter worker="7">128093</LocalCounter>
- <LocalCounter worker="8">121225</LocalCounter>
- <LocalCounter worker="9">120770</LocalCounter>
- <LocalCounter worker="10">120549</LocalCounter>
- <LocalCounter worker="11">120785</LocalCounter>
- <LocalCounter worker="12">120461</LocalCounter>
- <LocalCounter worker="13">120591</LocalCounter>
- <LocalCounter worker="14">121214</LocalCounter>
- <LocalCounter worker="15">120733</LocalCounter>
- <LocalCounter worker="16">120387</LocalCounter>
- <LocalCounter worker="17">121153</LocalCounter>
- <LocalCounter worker="18">121255</LocalCounter>
- <LocalCounter worker="19">120737</LocalCounter>
- <LocalCounter worker="20">120859</LocalCounter>
- <LocalCounter worker="21">121071</LocalCounter>
- <LocalCounter worker="22">121031</LocalCounter>
- <LocalCounter worker="23">121163</LocalCounter>
- <GlobalCounter>0</GlobalCounter>
- <SumOfLocalCounter>2957566</SumOfLocalCounter>
- </GlobalTTASLockWithLocalCounter>
-</SMPLock01>
+*** TEST VERSION: 6.0.0.90c8934179f2ba4c042caa95b3473d37835bed80
+*** TEST STATE: EXPECTED_PASS
+*** TEST BUILD: RTEMS_SMP
+*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448)
+*** BEGIN OF JSON DATA ***
+[
+ {
+ "lock-type": "Ticket Lock",
+ "lock-object": "global",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [1385097],
+ "global-counter": 0,
+ "sum-of-local-counter": 1385097
+ }, {
+ "counter": [997876, 997974],
+ "global-counter": 0,
+ "sum-of-local-counter": 1995850
+ }, {
+ "counter": [998024, 998123, 998123],
+ "global-counter": 0,
+ "sum-of-local-counter": 2994270
+ }, {
+ "counter": [997988, 998086, 998086, 998086],
+ "global-counter": 0,
+ "sum-of-local-counter": 3992246
+ }
+ ]
+ }, {
+ "lock-type": "MCS Lock",
+ "lock-object": "global",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [1512045],
+ "global-counter": 0,
+ "sum-of-local-counter": 1512045
+ }, {
+ "counter": [997877, 997878],
+ "global-counter": 0,
+ "sum-of-local-counter": 1995755
+ }, {
+ "counter": [998023, 998122, 998122],
+ "global-counter": 0,
+ "sum-of-local-counter": 2994267
+ }, {
+ "counter": [997987, 998086, 998086, 998086],
+ "global-counter": 0,
+ "sum-of-local-counter": 3992245
+ }
+ ]
+ }, {
+ "lock-type": "Ticket Lock",
+ "lock-object": "global",
+ "section-type": "global counter",
+ "results": [
+ {
+ "counter": [997921, 997945, 997945, 997945],
+ "global-counter": 3991756,
+ "sum-of-local-counter": 3991756
+ }
+ ]
+ }, {
+ "lock-type": "MCS Lock",
+ "lock-object": "global",
+ "section-type": "global counter",
+ "results": [
+ {
+ "counter": [527090, 527096, 527096, 527096],
+ "global-counter": 2108378,
+ "sum-of-local-counter": 2108378
+ }
+ ]
+ }, {
+ "lock-type": "Ticket Lock",
+ "lock-object": "local",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [1385769],
+ "global-counter": 0,
+ "sum-of-local-counter": 1385769
+ }, {
+ "counter": [1385995, 1387328],
+ "global-counter": 0,
+ "sum-of-local-counter": 2773323
+ }, {
+ "counter": [1386191, 1387525, 1387526],
+ "global-counter": 0,
+ "sum-of-local-counter": 4161242
+ }, {
+ "counter": [1386136, 1387468, 1387470, 1387407],
+ "global-counter": 0,
+ "sum-of-local-counter": 5548481
+ }
+ ]
+ }, {
+ "lock-type": "MCS Lock",
+ "lock-object": "local",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [1512021],
+ "global-counter": 0,
+ "sum-of-local-counter": 1512021
+ }, {
+ "counter": [1511993, 1513445],
+ "global-counter": 0,
+ "sum-of-local-counter": 3025438
+ }, {
+ "counter": [1512208, 1513656, 1513656],
+ "global-counter": 0,
+ "sum-of-local-counter": 4539520
+ }, {
+ "counter": [1512149, 1513595, 1513595, 1513533],
+ "global-counter": 0,
+ "sum-of-local-counter": 6052872
+ }
+ ]
+ }, {
+ "lock-type": "Ticket Lock",
+ "lock-object": "local",
+ "section-type": "global counter",
+ "results": [
+ {
+ "counter": [1160403, 1161527, 1161527, 1161469],
+ "global-counter": 3727827,
+ "sum-of-local-counter": 4644926
+ }
+ ]
+ }, {
+ "lock-type": "MCS Lock",
+ "lock-object": "local",
+ "section-type": "global counter",
+ "results": [
+ {
+ "counter": [1247164, 1248373, 1248373, 1248313],
+ "global-counter": 3876384,
+ "sum-of-local-counter": 4992223
+ }
+ ]
+ }, {
+ "lock-type": "Ticket Lock",
+ "lock-object": "global",
+ "section-type": "busy loop",
+ "results": [
+ {
+ "counter": [39932, 39932, 39932, 39932],
+ "global-counter": 0,
+ "sum-of-local-counter": 159728
+ }
+ ]
+ }, {
+ "lock-type": "MCS Lock",
+ "lock-object": "global",
+ "section-type": "busy loop",
+ "results": [
+ {
+ "counter": [39934, 39935, 39934, 39934],
+ "global-counter": 0,
+ "sum-of-local-counter": 159737
+ }
+ ]
+ }, {
+ "lock-type": "Sequence Lock",
+ "lock-object": "global",
+ "section-type": "two global counter",
+ "results": [
+ {
+ "counter": [1847772, 666526, 666526, 666488],
+ "global-counter": 0,
+ "sum-of-local-counter": 3847312
+ }
+ ]
+ }, {
+ "lock-type": "TAS Lock",
+ "lock-object": "global",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [2934600],
+ "global-counter": 0,
+ "sum-of-local-counter": 2934600
+ }, {
+ "counter": [2217444, 2219107],
+ "global-counter": 0,
+ "sum-of-local-counter": 4436551
+ }, {
+ "counter": [1833240, 1836467, 1835261],
+ "global-counter": 0,
+ "sum-of-local-counter": 5504968
+ }, {
+ "counter": [1652247, 1652937, 1653163, 1652725],
+ "global-counter": 0,
+ "sum-of-local-counter": 6611072
+ }
+ ]
+ }, {
+ "lock-type": "TTAS Lock",
+ "lock-object": "global",
+ "section-type": "local counter",
+ "results": [
+ {
+ "counter": [2935135],
+ "global-counter": 0,
+ "sum-of-local-counter": 2935135
+ }, {
+ "counter": [1732426, 1758193],
+ "global-counter": 0,
+ "sum-of-local-counter": 3490619
+ }, {
+ "counter": [1202763, 1204087, 1203894],
+ "global-counter": 0,
+ "sum-of-local-counter": 3610744
+ }, {
+ "counter": [845721, 846759, 848543, 838946],
+ "global-counter": 0,
+ "sum-of-local-counter": 3379969
+ }
+ ]
+ }
+]
+*** END OF JSON DATA ***
+
*** END OF TEST SMPLOCK 1 ***
+
+cpu 0 in error mode (tt = 0x80)
+ 1550147550 000091c0: 91d02000 ta 0x0
diff --git a/testsuites/smptests/smplock01/smplock01fair.py b/testsuites/smptests/smplock01/smplock01fair.py
index 378dfd8028..a3851ad4c6 100755
--- a/testsuites/smptests/smplock01/smplock01fair.py
+++ b/testsuites/smptests/smplock01/smplock01fair.py
@@ -1,59 +1,71 @@
-#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-2-Clause
+# Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG
#
-# Copyright (c) 2016 embedded brains GmbH. All rights reserved.
-#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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 re
-import libxml2
+import json
import math
+import re
import statistics
-from libxml2 import xmlNode
-import matplotlib.pyplot as plt
-data = open('smplock01.scn').read()
-data = re.sub(r'\*\*\*.*\*\*\*', '', data)
-doc = libxml2.parseDoc(data)
-ctx = doc.xpathNewContext()
-
-plt.title('SMP Lock Fairness')
-plt.xlabel('Active Workers')
-plt.ylabel('Normed Coefficient of Variation')
-
-i = 1
-ticket = []
-mcs = []
-tas = []
-ttas = []
-
-def m(n):
- return int(xmlNode.getContent(n))
-
-def normedCoefficientOfVariation(name, i):
- y = map(m, ctx.xpathEval('/SMPLock01/' + name + '[@activeWorker=' + str(i) + ']/LocalCounter'))
- if len(y) == 0:
- raise
- return (statistics.stdev(y) / statistics.mean(y)) / math.sqrt(len(y))
-
-try:
- while True:
- i = i + 1
- ticket.append(normedCoefficientOfVariation('GlobalTicketLockWithLocalCounter', i))
- mcs.append(normedCoefficientOfVariation('GlobalMCSLockWithLocalCounter', i))
- tas.append(normedCoefficientOfVariation('GlobalTASLockWithLocalCounter', i))
- ttas.append(normedCoefficientOfVariation('GlobalTTASLockWithLocalCounter', i))
-except:
- pass
-
-x = range(2, len(ticket) + 2)
-plt.xticks(x)
-plt.yscale('symlog', linthreshy = 1e-6)
-plt.plot(x, ticket, label = 'Ticket Lock', marker = 'o')
-plt.plot(x, mcs, label = 'MCS Lock', marker = 'o')
-plt.plot(x, tas, label = 'TAS Lock', marker = 'o')
-plt.plot(x, ttas, label = 'TTAS Lock', marker = 'o')
-plt.legend(loc = 'best')
-plt.show()
+import matplotlib.pyplot as plt # type: ignore
+from matplotlib import ticker # type: ignore
+
+
+def _normed_coefficient_of_variation(counter: list[int]) -> float:
+ return (statistics.stdev(counter) / statistics.mean(counter)) / math.sqrt(
+ len(counter))
+
+
+def _plot(data: dict) -> None:
+ _, axes = plt.subplots()
+ axes.set_title("SMP Lock Fairness")
+ axes.set_xlabel("Active Workers")
+ axes.set_ylabel("Normed Coefficient of Variation")
+ axes.set_yscale("symlog", linthresh=1e-6)
+ x = list(range(2, len(data[0]["results"]) + 1))
+ axes.xaxis.set_major_locator(ticker.FixedLocator(x))
+ for samples in data:
+ if samples["lock-object"] != "global":
+ continue
+ if samples["section-type"] != "local counter":
+ continue
+ y = [
+ _normed_coefficient_of_variation(results["counter"])
+ for results in samples["results"][1:]
+ ]
+ axes.plot(x, y, label=samples["lock-type"], marker="o")
+ axes.legend(loc="best")
+ plt.savefig("smplock01fair.png")
+ plt.savefig("smplock01fair.pdf")
+ plt.close()
+
+
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
+
+with open("smplock01.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/smptests/smplock01/smplock01perf.py b/testsuites/smptests/smplock01/smplock01perf.py
index 43816814f8..09c7fb10b4 100755
--- a/testsuites/smptests/smplock01/smplock01perf.py
+++ b/testsuites/smptests/smplock01/smplock01perf.py
@@ -1,39 +1,60 @@
-#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-2-Clause
+# Copyright (C) 2016, 2024 embedded brains GmbH & Co. KG
#
-# Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
-#
-
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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('smplock01.scn').read()
-data = re.sub(r'\*\*\*.*\*\*\*', '', data)
-doc = libxml2.parseDoc(data)
-ctx = doc.xpathNewContext()
-
-plt.title('SMP Lock Performance')
-plt.xlabel('Active Workers')
-plt.ylabel('Operation Count')
-
-y = map(xmlNode.getContent, ctx.xpathEval('/SMPLock01/GlobalTicketLockWithLocalCounter/SumOfLocalCounter'))
-x = range(1, len(y) + 1)
-plt.xticks(x)
-plt.plot(x, y, label = 'Ticket Lock', marker = 'o')
-
-y = map(xmlNode.getContent, ctx.xpathEval('/SMPLock01/GlobalMCSLockWithLocalCounter/SumOfLocalCounter'))
-plt.plot(x, y, label = 'MCS Lock', marker = 'o')
-
-y = map(xmlNode.getContent, ctx.xpathEval('/SMPLock01/GlobalTASLockWithLocalCounter/SumOfLocalCounter'))
-plt.plot(x, y, label = 'TAS Lock', marker = 'o')
-
-y = map(xmlNode.getContent, ctx.xpathEval('/SMPLock01/GlobalTTASLockWithLocalCounter/SumOfLocalCounter'))
-plt.plot(x, y, label = 'TTAS Lock', 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("SMP Lock Performance")
+ axes.set_xlabel("Active Workers")
+ axes.set_ylabel("Operation Count")
+ x = list(range(1, len(data[0]["results"]) + 1))
+ axes.xaxis.set_major_locator(ticker.FixedLocator(x))
+ for samples in data:
+ if samples["lock-object"] != "global":
+ continue
+ if samples["section-type"] != "local counter":
+ continue
+ y = [sum(results["counter"]) for results in samples["results"]]
+ axes.plot(x, y, label=samples["lock-type"], marker="o")
+ axes.legend(loc="best")
+ plt.savefig("smplock01perf.png")
+ plt.savefig("smplock01perf.pdf")
+ plt.close()
+
+
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
+
+with open("smplock01.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/smptests/smpmigration01/init.c b/testsuites/smptests/smpmigration01/init.c
index c78c057510..7829d658d9 100644
--- a/testsuites/smptests/smpmigration01/init.c
+++ b/testsuites/smptests/smpmigration01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013-2015 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2015 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpmigration02/init.c b/testsuites/smptests/smpmigration02/init.c
index 2539e7ac0a..a81d6b8fe2 100644
--- a/testsuites/smptests/smpmigration02/init.c
+++ b/testsuites/smptests/smpmigration02/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpmrsp01/init.c b/testsuites/smptests/smpmrsp01/init.c
index 147838957d..481328cec7 100644
--- a/testsuites/smptests/smpmrsp01/init.c
+++ b/testsuites/smptests/smpmrsp01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014-2015 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2014, 2015 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpmulticast01/init.c b/testsuites/smptests/smpmulticast01/init.c
index ec4bab922d..51a4624ea1 100644
--- a/testsuites/smptests/smpmulticast01/init.c
+++ b/testsuites/smptests/smpmulticast01/init.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: BSD-2-Clause
*
- * Copyright (C) 2019 embedded brains GmbH
+ * Copyright (C) 2019 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -563,14 +563,16 @@ static void fatal_extension(
bool ok;
if (source == RTEMS_FATAL_SOURCE_SMP) {
- T_step_eq_int(1, source, RTEMS_FATAL_SOURCE_SMP);
- T_step_false(2, always_set_to_false, "unexpected argument value");
- T_step_eq_int(3, code, SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS);
- T_case_end();
-
- ok = T_run_finalize();
- rtems_test_assert(ok);
- TEST_END();
+ if (code != SMP_FATAL_SHUTDOWN_RESPONSE) {
+ T_step_eq_int(1, source, RTEMS_FATAL_SOURCE_SMP);
+ T_step_false(2, always_set_to_false, "unexpected argument value");
+ T_step_eq_int(3, code, SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS);
+ T_case_end();
+
+ ok = T_run_finalize();
+ rtems_test_assert(ok);
+ TEST_END();
+ }
} else if (source == RTEMS_FATAL_SOURCE_APPLICATION) {
ok = T_run_finalize();
rtems_test_assert(ok);
diff --git a/testsuites/smptests/smpmutex01/init.c b/testsuites/smptests/smpmutex01/init.c
index 5a695f016f..ad887318ab 100644
--- a/testsuites/smptests/smpmutex01/init.c
+++ b/testsuites/smptests/smpmutex01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2015, 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2015, 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpmutex02/init.c b/testsuites/smptests/smpmutex02/init.c
index fe800fac3d..b219f9a2c7 100644
--- a/testsuites/smptests/smpmutex02/init.c
+++ b/testsuites/smptests/smpmutex02/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpopenmp01/init.c b/testsuites/smptests/smpopenmp01/init.c
index 802f5bb05c..d37fe852cf 100644
--- a/testsuites/smptests/smpopenmp01/init.c
+++ b/testsuites/smptests/smpopenmp01/init.c
@@ -1,11 +1,5 @@
/*
- * Copyright (c) 2017 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Copyright (C) 2017, 2024 embedded brains GmbH & Co. KG
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -149,21 +143,31 @@ static void do_bench(const char *name, void (*bench)(void), int n)
(*bench)();
}
delta = omp_get_wtime() - start;
- printf("\t\t<%sBench unit=\"s\">%f</%sBench>\n", name, delta, name);
+ printf(",\n \"%s-bench\": %f", name, delta);
}
+static const char *test_sep = "";
+
static void microbench(int num_threads, int n)
{
- printf("\t<Microbench numThreads=\"%i\" majorLoopCount=\"%i\">\n", num_threads, n);
omp_set_num_threads(num_threads);
- do_bench("Barrier", barrier_bench, n);
- do_bench("Parallel", parallel_bench, n);
- do_bench("Static", static_bench, n);
- do_bench("Dynamic", dynamic_bench, n);
- do_bench("Guided", guided_bench, n);
- do_bench("Runtime", runtime_bench, n);
- do_bench("Single", single_bench, n);
- printf("\t</Microbench>\n");
+ printf(
+ "%s{\n"
+ " \"num-threads\": %i,\n"
+ " \"major-loop-count\": %i",
+ test_sep,
+ num_threads,
+ n
+ );
+ test_sep = ", ";
+ do_bench("barrier", barrier_bench, n);
+ do_bench("parallel", parallel_bench, n);
+ do_bench("static", static_bench, n);
+ do_bench("dynamic", dynamic_bench, n);
+ do_bench("guided", guided_bench, n);
+ do_bench("runtime", runtime_bench, n);
+ do_bench("single", single_bench, n);
+ printf("\n }");
}
static int estimate_3s_runtime_with_one_proc(void)
@@ -192,7 +196,7 @@ static void test(void)
int num_procs;
int n;
- printf("<SMPOpenMP01>\n");
+ printf("*** BEGIN OF JSON DATA ***\n[\n ");
n = estimate_3s_runtime_with_one_proc();
num_procs = omp_get_num_procs();
@@ -202,7 +206,7 @@ static void test(void)
microbench(i, n);
}
- printf("</SMPOpenMP01>\n");
+ printf("\n]\n*** END OF JSON DATA ***\n");
}
#ifdef __rtems__
diff --git a/testsuites/smptests/smpopenmp01/smpopenmp01.py b/testsuites/smptests/smpopenmp01/smpopenmp01.py
index 139aedd4af..227b089926 100644
--- a/testsuites/smptests/smpopenmp01/smpopenmp01.py
+++ b/testsuites/smptests/smpopenmp01/smpopenmp01.py
@@ -1,42 +1,60 @@
-#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-2-Clause
+# Copyright (C) 2017, 2024 embedded brains GmbH & Co. KG
#
-# Copyright (c) 2017 embedded brains GmbH. All rights reserved.
-#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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('smpopenmp01.scn').read()
-data = re.sub(r'\*\*\*.*', '', data)
-doc = libxml2.parseDoc(data)
-ctx = doc.xpathNewContext()
-
-plt.title('OpenMP Microbench')
-plt.xlabel('Number of Threads')
-plt.ylabel('Relative Duration')
-
-def m(n):
- return float(n.getContent())
-
-def p(bench):
- d = map(m, ctx.xpathEval('/SMPOpenMP01/Microbench/' + bench))
- y = [x / d[0] for x in d]
- x = range(1, len(y) + 1)
- plt.xticks(x)
- plt.plot(x, y, label = bench, marker = 'o')
-
-p('BarrierBench')
-p('ParallelBench')
-p('StaticBench')
-p('DynamicBench')
-p('GuidedBench')
-p('RuntimeBench')
-p('SingleBench')
-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("OpenMP Microbench")
+ axes.set_xlabel("Number of Threads")
+ axes.set_ylabel("Relative Duration")
+ x = list(range(1, len(data) + 1))
+ axes.xaxis.set_major_locator(ticker.FixedLocator(x))
+ for key in [
+ "barrier-bench", "dynamic-bench", "guided-bench", "parallel-bench",
+ "runtime-bench", "single-bench", "static-bench"
+ ]:
+ d = [results[key] for results in data]
+ y = [x / d[0] for x in d]
+ axes.plot(x, y, label=key.replace("-bench", ""), marker="o")
+ axes.legend(loc="best")
+ plt.savefig("smpopenmp01.png")
+ plt.savefig("smpopenmp01.pdf")
+ plt.close()
+
+
+_JSON_DATA = re.compile(
+ r"\*\*\* BEGIN OF JSON DATA \*\*\*(.*)"
+ r"\*\*\* END OF JSON DATA \*\*\*", re.DOTALL)
+
+with open("smpopenmp01.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/smptests/smpopenmp01/smpopenmp01.scn b/testsuites/smptests/smpopenmp01/smpopenmp01.scn
index 6f63ddca1d..2d6c944d3f 100644
--- a/testsuites/smptests/smpopenmp01/smpopenmp01.scn
+++ b/testsuites/smptests/smpopenmp01/smpopenmp01.scn
@@ -1,81 +1,64 @@
+
+ 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/smptests/smpopenmp01.exe, entry 0x00000000
+
+
*** BEGIN OF TEST SMPOPENMP 1 ***
-*** TEST VERSION: 5.0.0.4c8cffc19865eaa3b033ce2776bcce9992f24b18
+*** TEST VERSION: 6.0.0.43eecff0b1b2915b87d5324ae562888851cabdaf
*** TEST STATE: EXPECTED_PASS
-*** TEST BUILD: RTEMS_POSIX_API RTEMS_SMP
-*** TEST TOOLS: 7.3.0 20180125 (RTEMS 5, RSB 6d9c77c77d271d1fc2dfe8493d6713930b52a6dd, Newlib 3.0.0)
-<SMPOpenMP01>
- <Microbench numThreads="1" majorLoopCount="20">
- <BarrierBench unit="s">0.720318</BarrierBench>
- <ParallelBench unit="s">1.121403</ParallelBench>
- <StaticBench unit="s">0.059288</StaticBench>
- <DynamicBench unit="s">0.440113</DynamicBench>
- <GuidedBench unit="s">0.003230</GuidedBench>
- <RuntimeBench unit="s">0.440121</RuntimeBench>
- <SingleBench unit="s">0.116486</SingleBench>
- </Microbench>
- <Microbench numThreads="2" majorLoopCount="20">
- <BarrierBench unit="s">0.416734</BarrierBench>
- <ParallelBench unit="s">0.259013</ParallelBench>
- <StaticBench unit="s">0.015311</StaticBench>
- <DynamicBench unit="s">0.196751</DynamicBench>
- <GuidedBench unit="s">0.002367</GuidedBench>
- <RuntimeBench unit="s">0.199640</RuntimeBench>
- <SingleBench unit="s">0.077629</SingleBench>
- </Microbench>
- <Microbench numThreads="3" majorLoopCount="20">
- <BarrierBench unit="s">0.748332</BarrierBench>
- <ParallelBench unit="s">0.387318</ParallelBench>
- <StaticBench unit="s">0.021244</StaticBench>
- <DynamicBench unit="s">0.141558</DynamicBench>
- <GuidedBench unit="s">0.001544</GuidedBench>
- <RuntimeBench unit="s">0.142693</RuntimeBench>
- <SingleBench unit="s">0.117683</SingleBench>
- </Microbench>
- <Microbench numThreads="4" majorLoopCount="20">
- <BarrierBench unit="s">0.552830</BarrierBench>
- <ParallelBench unit="s">0.323241</ParallelBench>
- <StaticBench unit="s">0.017796</StaticBench>
- <DynamicBench unit="s">0.099475</DynamicBench>
- <GuidedBench unit="s">0.001259</GuidedBench>
- <RuntimeBench unit="s">0.100053</RuntimeBench>
- <SingleBench unit="s">0.091069</SingleBench>
- </Microbench>
- <Microbench numThreads="5" majorLoopCount="20">
- <BarrierBench unit="s">0.882791</BarrierBench>
- <ParallelBench unit="s">0.452561</ParallelBench>
- <StaticBench unit="s">0.023620</StaticBench>
- <DynamicBench unit="s">0.094107</DynamicBench>
- <GuidedBench unit="s">0.000989</GuidedBench>
- <RuntimeBench unit="s">0.093911</RuntimeBench>
- <SingleBench unit="s">0.130070</SingleBench>
- </Microbench>
- <Microbench numThreads="6" majorLoopCount="20">
- <BarrierBench unit="s">0.670385</BarrierBench>
- <ParallelBench unit="s">0.393587</ParallelBench>
- <StaticBench unit="s">0.021141</StaticBench>
- <DynamicBench unit="s">0.072322</DynamicBench>
- <GuidedBench unit="s">0.000937</GuidedBench>
- <RuntimeBench unit="s">0.069804</RuntimeBench>
- <SingleBench unit="s">0.104107</SingleBench>
- </Microbench>
- <Microbench numThreads="7" majorLoopCount="20">
- <BarrierBench unit="s">1.031511</BarrierBench>
- <ParallelBench unit="s">0.466571</ParallelBench>
- <StaticBench unit="s">0.024944</StaticBench>
- <DynamicBench unit="s">0.069194</DynamicBench>
- <GuidedBench unit="s">0.000814</GuidedBench>
- <RuntimeBench unit="s">0.069596</RuntimeBench>
- <SingleBench unit="s">0.133137</SingleBench>
- </Microbench>
- <Microbench numThreads="8" majorLoopCount="20">
- <BarrierBench unit="s">0.761015</BarrierBench>
- <ParallelBench unit="s">0.452577</ParallelBench>
- <StaticBench unit="s">0.023979</StaticBench>
- <DynamicBench unit="s">0.061193</DynamicBench>
- <GuidedBench unit="s">0.000799</GuidedBench>
- <RuntimeBench unit="s">0.061519</RuntimeBench>
- <SingleBench unit="s">0.114285</SingleBench>
- </Microbench>
-</SMPOpenMP01>
+*** TEST BUILD: RTEMS_SMP
+*** TEST TOOLS: 13.2.0 20230727 (RTEMS 6, RSB d3d738c35a71ca05f675b188539225099401ac79, Newlib a021448)
+*** BEGIN OF JSON DATA ***
+[
+ {
+ "num-threads": 1,
+ "major-loop-count": 1,
+ "barrier-bench": 0.269517,
+ "parallel-bench": 1.277477,
+ "static-bench": 0.073541,
+ "dynamic-bench": 0.118271,
+ "guided-bench": 0.008089,
+ "runtime-bench": 0.142307,
+ "single-bench": 0.034294
+ }, {
+ "num-threads": 2,
+ "major-loop-count": 1,
+ "barrier-bench": 0.269345,
+ "parallel-bench": 0.557423,
+ "static-bench": 0.033622,
+ "dynamic-bench": 0.059762,
+ "guided-bench": 0.004065,
+ "runtime-bench": 0.072107,
+ "single-bench": 0.033129
+ }, {
+ "num-threads": 3,
+ "major-loop-count": 1,
+ "barrier-bench": 0.271522,
+ "parallel-bench": 0.631576,
+ "static-bench": 0.036074,
+ "dynamic-bench": 0.039981,
+ "guided-bench": 0.002757,
+ "runtime-bench": 0.049072,
+ "single-bench": 0.033129
+ }, {
+ "num-threads": 4,
+ "major-loop-count": 1,
+ "barrier-bench": 0.272048,
+ "parallel-bench": 0.705746,
+ "static-bench": 0.039061,
+ "dynamic-bench": 0.030069,
+ "guided-bench": 0.002095,
+ "runtime-bench": 0.037570,
+ "single-bench": 0.033176
+ }
+]
+*** END OF JSON DATA ***
*** END OF TEST SMPOPENMP 1 ***
+
+cpu 0 in error mode (tt = 0x80)
+ 706370700 0000cac0: 91d02000 ta 0x0
diff --git a/testsuites/smptests/smppsxaffinity01/init.c b/testsuites/smptests/smppsxaffinity01/init.c
index 336fbeba48..91756a1d0d 100644
--- a/testsuites/smptests/smppsxaffinity01/init.c
+++ b/testsuites/smptests/smppsxaffinity01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smppsxaffinity01/smppsxaffinity01.doc b/testsuites/smptests/smppsxaffinity01/smppsxaffinity01.doc
index db4ab87c8e..9ed60c4616 100644
--- a/testsuites/smptests/smppsxaffinity01/smppsxaffinity01.doc
+++ b/testsuites/smptests/smppsxaffinity01/smppsxaffinity01.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2014.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
This file describes the directives and concepts tested by this test set.
diff --git a/testsuites/smptests/smppsxaffinity02/init.c b/testsuites/smptests/smppsxaffinity02/init.c
index e4d002f21e..5e0346bf78 100644
--- a/testsuites/smptests/smppsxaffinity02/init.c
+++ b/testsuites/smptests/smppsxaffinity02/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smppsxaffinity02/smppsxaffinity02.doc b/testsuites/smptests/smppsxaffinity02/smppsxaffinity02.doc
index 857282c508..08d1000f0c 100644
--- a/testsuites/smptests/smppsxaffinity02/smppsxaffinity02.doc
+++ b/testsuites/smptests/smppsxaffinity02/smppsxaffinity02.doc
@@ -1,9 +1,28 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
# COPYRIGHT (c) 1989-2014.
# On-Line Applications Research Corporation (OAR).
#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.org/license/LICENSE.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# 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.
#
directives:
diff --git a/testsuites/smptests/smppsxmutex01/init.c b/testsuites/smptests/smppsxmutex01/init.c
index 6dd0d020fd..6532f5868d 100644
--- a/testsuites/smptests/smppsxmutex01/init.c
+++ b/testsuites/smptests/smppsxmutex01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
@@ -42,25 +55,11 @@ static test_context test_instance;
static void *thread_b(void *arg)
{
test_context *ctx;
- rtems_id scheduler_b_id;
- rtems_status_code sc;
- rtems_task_priority prio;
int prio_ceiling;
int eno;
ctx = arg;
- rtems_test_assert(rtems_scheduler_get_processor() == 0);
-
- sc = rtems_scheduler_ident(SCHED_B, &scheduler_b_id);
- rtems_test_assert(sc == RTEMS_SUCCESSFUL);
-
- sc = rtems_task_set_priority(pthread_self(), RTEMS_CURRENT_PRIORITY, &prio);
- rtems_test_assert(sc == RTEMS_SUCCESSFUL);
-
- sc = rtems_task_set_scheduler(pthread_self(), scheduler_b_id, prio);
- rtems_test_assert(sc == RTEMS_SUCCESSFUL);
-
rtems_test_assert(rtems_scheduler_get_processor() == 1);
eno = pthread_mutex_init(&ctx->mtx_b, &ctx->mtx_attr);
@@ -119,8 +118,24 @@ static void test(test_context *ctx)
rtems_test_assert(eno == 0);
if (cpu_count > 1) {
+ rtems_id scheduler_a_id;
+ rtems_id scheduler_b_id;
+ rtems_status_code sc;
+ rtems_task_priority prio;
void *exit_code;
+ sc = rtems_scheduler_ident(SCHED_A, &scheduler_a_id);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ sc = rtems_scheduler_ident(SCHED_B, &scheduler_b_id);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ sc = rtems_task_set_priority(pthread_self(), RTEMS_CURRENT_PRIORITY, &prio);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ sc = rtems_task_set_scheduler(pthread_self(), scheduler_b_id, prio);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
eno = pthread_create(&ctx->thread_b, NULL, thread_b, ctx);
rtems_test_assert(eno == 0);
@@ -128,6 +143,9 @@ static void test(test_context *ctx)
eno = pthread_join(ctx->thread_b, &exit_code);
rtems_test_assert(eno == 0);
rtems_test_assert(exit_code == ctx);
+
+ sc = rtems_task_set_scheduler(pthread_self(), scheduler_a_id, prio);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
}
eno = pthread_mutex_destroy(&ctx->mtx_a);
diff --git a/testsuites/smptests/smppsxsignal01/init.c b/testsuites/smptests/smppsxsignal01/init.c
index d23a664e9a..4b7109399a 100644
--- a/testsuites/smptests/smppsxsignal01/init.c
+++ b/testsuites/smptests/smppsxsignal01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpschedaffinity01/init.c b/testsuites/smptests/smpschedaffinity01/init.c
index a2ab9638a9..cdefc6ed96 100644
--- a/testsuites/smptests/smpschedaffinity01/init.c
+++ b/testsuites/smptests/smpschedaffinity01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpschedaffinity02/init.c b/testsuites/smptests/smpschedaffinity02/init.c
index effbee32a8..69569b0350 100644
--- a/testsuites/smptests/smpschedaffinity02/init.c
+++ b/testsuites/smptests/smpschedaffinity02/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpschedaffinity03/init.c b/testsuites/smptests/smpschedaffinity03/init.c
index 10ece65f63..a0ca92e222 100644
--- a/testsuites/smptests/smpschedaffinity03/init.c
+++ b/testsuites/smptests/smpschedaffinity03/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpschedaffinity04/init.c b/testsuites/smptests/smpschedaffinity04/init.c
index 9d8b5999a6..b2394e50a8 100644
--- a/testsuites/smptests/smpschedaffinity04/init.c
+++ b/testsuites/smptests/smpschedaffinity04/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpschedaffinity05/init.c b/testsuites/smptests/smpschedaffinity05/init.c
index 1d554222d3..db90746222 100644
--- a/testsuites/smptests/smpschedaffinity05/init.c
+++ b/testsuites/smptests/smpschedaffinity05/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
/*
diff --git a/testsuites/smptests/smpschededf01/init.c b/testsuites/smptests/smpschededf01/init.c
index c87d31dea1..16af1b58e7 100644
--- a/testsuites/smptests/smpschededf01/init.c
+++ b/testsuites/smptests/smpschededf01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2017, 2018 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2017, 2018 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpschededf02/init.c b/testsuites/smptests/smpschededf02/init.c
index fae2d76bf3..01b52cb056 100644
--- a/testsuites/smptests/smpschededf02/init.c
+++ b/testsuites/smptests/smpschededf02/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016, 2020 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2016, 2020 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpschededf03/init.c b/testsuites/smptests/smpschededf03/init.c
index f9693f27d2..ca205b758b 100644
--- a/testsuites/smptests/smpschededf03/init.c
+++ b/testsuites/smptests/smpschededf03/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2017 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpschededf04/init.c b/testsuites/smptests/smpschededf04/init.c
index 00801d02c1..11a477d9a0 100644
--- a/testsuites/smptests/smpschededf04/init.c
+++ b/testsuites/smptests/smpschededf04/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2018 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2018 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpschedsem01/init.c b/testsuites/smptests/smpschedsem01/init.c
index bf16bd3aa8..44b1cacde2 100644
--- a/testsuites/smptests/smpschedsem01/init.c
+++ b/testsuites/smptests/smpschedsem01/init.c
@@ -1,10 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler01/init.c b/testsuites/smptests/smpscheduler01/init.c
index 93c0cfe50e..30c5f44f80 100644
--- a/testsuites/smptests/smpscheduler01/init.c
+++ b/testsuites/smptests/smpscheduler01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler02/init.c b/testsuites/smptests/smpscheduler02/init.c
index 3cc16ec68c..593dc80a5d 100644
--- a/testsuites/smptests/smpscheduler02/init.c
+++ b/testsuites/smptests/smpscheduler02/init.c
@@ -1,15 +1,28 @@
+/* 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
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler03/init.c b/testsuites/smptests/smpscheduler03/init.c
index 33b076b045..39dea836e1 100644
--- a/testsuites/smptests/smpscheduler03/init.c
+++ b/testsuites/smptests/smpscheduler03/init.c
@@ -1,15 +1,28 @@
+/* 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
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler03/test.c b/testsuites/smptests/smpscheduler03/test.c
index 6e519c7425..a49fac72f8 100644
--- a/testsuites/smptests/smpscheduler03/test.c
+++ b/testsuites/smptests/smpscheduler03/test.c
@@ -1,15 +1,28 @@
+/* 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
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler04/init.c b/testsuites/smptests/smpscheduler04/init.c
index f235bdd21c..a3b4666c32 100644
--- a/testsuites/smptests/smpscheduler04/init.c
+++ b/testsuites/smptests/smpscheduler04/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler05/init.c b/testsuites/smptests/smpscheduler05/init.c
index 90147ea9d7..733e9924b0 100644
--- a/testsuites/smptests/smpscheduler05/init.c
+++ b/testsuites/smptests/smpscheduler05/init.c
@@ -1,15 +1,28 @@
+/* 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
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler06/init.c b/testsuites/smptests/smpscheduler06/init.c
index 6f26639a86..2650f37ffb 100644
--- a/testsuites/smptests/smpscheduler06/init.c
+++ b/testsuites/smptests/smpscheduler06/init.c
@@ -1,15 +1,28 @@
+/* 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
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpscheduler07/init.c b/testsuites/smptests/smpscheduler07/init.c
index cdd3370413..c97788eb0e 100644
--- a/testsuites/smptests/smpscheduler07/init.c
+++ b/testsuites/smptests/smpscheduler07/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2017 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpsignal01/init.c b/testsuites/smptests/smpsignal01/init.c
index 471c058348..1d22bce6da 100644
--- a/testsuites/smptests/smpsignal01/init.c
+++ b/testsuites/smptests/smpsignal01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013, 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2017 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpstart01/init.c b/testsuites/smptests/smpstart01/init.c
new file mode 100644
index 0000000000..28f185eb2d
--- /dev/null
+++ b/testsuites/smptests/smpstart01/init.c
@@ -0,0 +1,155 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
+/*
+ * Copyright (C) 2022 embedded brains GmbH & Co. KG
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/score/percpu.h>
+#include <rtems/score/smpimpl.h>
+#include <rtems/score/smpbarrier.h>
+#include <rtems.h>
+#include <rtems/sysinit.h>
+
+#include <tmacros.h>
+
+const char rtems_test_name[] = "SMPSTART 1";
+
+typedef struct {
+ const rtems_tcb *main_tcb;
+ SMP_barrier_Control barrier;
+ Per_CPU_Job job;
+} test_context;
+
+static test_context test_instance;
+
+static void barrier(test_context *ctx)
+{
+ SMP_barrier_State bs;
+
+ _SMP_barrier_State_initialize(&bs);
+ _SMP_barrier_Wait(&ctx->barrier, &bs, 2);
+}
+
+static void prepare_second_cpu(void *arg)
+{
+ test_context *ctx;
+ Per_CPU_Control *cpu_self;
+
+ ctx = arg;
+ cpu_self = _Per_CPU_Get();
+
+ barrier(ctx);
+
+ while (cpu_self->heir != ctx->main_tcb) {
+ RTEMS_COMPILER_MEMORY_BARRIER();
+ }
+}
+
+static const Per_CPU_Job_context job_context = {
+ .handler = prepare_second_cpu,
+ .arg = &test_instance
+};
+
+static void submit_job(void)
+{
+ test_context *ctx;
+
+ ctx = &test_instance;
+ _SMP_barrier_Control_initialize(&ctx->barrier);
+ ctx->job.context = &job_context;
+
+ _Per_CPU_Submit_job(_Per_CPU_Get_by_index(1), &ctx->job);
+}
+
+RTEMS_SYSINIT_ITEM(
+ submit_job,
+ RTEMS_SYSINIT_LAST,
+ RTEMS_SYSINIT_ORDER_MIDDLE
+);
+
+static void test(void)
+{
+ test_context *ctx;
+ rtems_status_code sc;
+ rtems_id id;
+
+ ctx = &test_instance;
+ ctx->main_tcb = _Thread_Get_executing();
+
+ barrier(ctx);
+
+ sc = rtems_scheduler_ident_by_processor(1, &id);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ sc = rtems_task_set_scheduler(RTEMS_SELF, id, 1);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ rtems_test_assert(rtems_scheduler_get_processor() == 1);
+ rtems_test_assert(_ISR_Get_level() == 0);
+}
+
+static void Init(rtems_task_argument arg)
+{
+ TEST_BEGIN();
+
+ test();
+
+ TEST_END();
+ rtems_test_exit(0);
+}
+
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
+
+#define CONFIGURE_MAXIMUM_PROCESSORS 2
+
+#define CONFIGURE_SCHEDULER_EDF_SMP
+
+#include <rtems/scheduler.h>
+
+RTEMS_SCHEDULER_EDF_SMP(a);
+
+RTEMS_SCHEDULER_EDF_SMP(b);
+
+#define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
+ RTEMS_SCHEDULER_TABLE_EDF_SMP(a, rtems_build_name('A', ' ', ' ', ' ')), \
+ RTEMS_SCHEDULER_TABLE_EDF_SMP(b, rtems_build_name('B', ' ', ' ', ' '))
+
+#define CONFIGURE_SCHEDULER_ASSIGNMENTS \
+ RTEMS_SCHEDULER_ASSIGN(0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
+ RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY)
+
+#define CONFIGURE_MAXIMUM_TASKS 1
+
+#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
diff --git a/testsuites/smptests/smpstart01/smpstart01.doc b/testsuites/smptests/smpstart01/smpstart01.doc
new file mode 100644
index 0000000000..10dc9d0615
--- /dev/null
+++ b/testsuites/smptests/smpstart01/smpstart01.doc
@@ -0,0 +1,12 @@
+This file describes the directives and concepts tested by this test set.
+
+test set name: smpstart01
+
+directives:
+
+ - _Thread_Start_multitasking()
+
+concepts:
+
+ - Ensure that the multitasking start works in case the first context switch
+ has an heir thread which already executes the thread body.
diff --git a/testsuites/smptests/smpstrongapa01/init.c b/testsuites/smptests/smpstrongapa01/init.c
index 8a02265615..26fc2e9c4c 100644
--- a/testsuites/smptests/smpstrongapa01/init.c
+++ b/testsuites/smptests/smpstrongapa01/init.c
@@ -1,16 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* Copyright (c) 2020 Richi Dubey ( richidubey@gmail.com )
- * Copyright (c) 2016, 2017 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2016, 2017 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpswitchextension01/init.c b/testsuites/smptests/smpswitchextension01/init.c
index cee5ae1635..5f8d834305 100644
--- a/testsuites/smptests/smpswitchextension01/init.c
+++ b/testsuites/smptests/smpswitchextension01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpthreadlife01/init.c b/testsuites/smptests/smpthreadlife01/init.c
index bcbfa48326..baec637dac 100644
--- a/testsuites/smptests/smpthreadlife01/init.c
+++ b/testsuites/smptests/smpthreadlife01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpthreadpin01/init.c b/testsuites/smptests/smpthreadpin01/init.c
index 7c3c9b2309..2eae74c961 100644
--- a/testsuites/smptests/smpthreadpin01/init.c
+++ b/testsuites/smptests/smpthreadpin01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2018 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2018 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpunsupported01/init.c b/testsuites/smptests/smpunsupported01/init.c
index 01129faf1e..4a6a088148 100644
--- a/testsuites/smptests/smpunsupported01/init.c
+++ b/testsuites/smptests/smpunsupported01/init.c
@@ -1,16 +1,29 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
* Copyright (c) 2014 On-Line Applications Research Corporation (OAR).
- * Copyright (c) 2013, 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2016 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H
diff --git a/testsuites/smptests/smpwakeafter01/init.c b/testsuites/smptests/smpwakeafter01/init.c
index e4a0e34ae9..88953d4b34 100644
--- a/testsuites/smptests/smpwakeafter01/init.c
+++ b/testsuites/smptests/smpwakeafter01/init.c
@@ -1,15 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * 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.
*/
#ifdef HAVE_CONFIG_H