Dear Matthew, I was able to apply the patch set. I can build GCC for the sparc-rtems target with the patch set. So, for RTEMS we have then basically the old Linux barrier implementation as a hard copy. If we would like to go back to directly use the Linux implementation, we need support for the futex_waitv. In this case, we have to assess if this makes sense for the lower end SMP targets used by RTEMS applications.
I did run the following test program: https://github.com/RTEMS/rtems/blob/main/testsuites/smptests/smpopenmp01/init.c The test platform was: https://www.gaisler.com/products/gr-cpci-gr740 Looks, good from my point of view. The difference in the output is: diff -u openmp-gcc-7-gr740-before.txt openmp-gcc-7-gr740-after.txt --- openmp-gcc-7-gr740-before.txt 2025-12-05 04:21:09.098996657 +0100 +++ openmp-gcc-7-gr740-after.txt 2025-12-05 03:08:47.432125347 +0100 @@ -10,43 +10,43 @@ { "num-threads": 1, "major-loop-count": 7, - "barrier-bench": 0.477087, - "parallel-bench": 1.796599, - "static-bench": 0.103448, - "dynamic-bench": 0.212967, - "guided-bench": 0.011304, - "runtime-bench": 0.240980, - "single-bench": 0.061993 + "barrier-bench": 0.480769, + "parallel-bench": 1.809565, + "static-bench": 0.104044, + "dynamic-bench": 0.212121, + "guided-bench": 0.011265, + "runtime-bench": 0.240016, + "single-bench": 0.062307 }, { "num-threads": 2, "major-loop-count": 7, - "barrier-bench": 0.547056, - "parallel-bench": 0.705842, - "static-bench": 0.043304, - "dynamic-bench": 0.123275, - "guided-bench": 0.005696, - "runtime-bench": 0.137279, - "single-bench": 0.071744 + "barrier-bench": 0.553242, + "parallel-bench": 0.711961, + "static-bench": 0.043014, + "dynamic-bench": 0.122780, + "guided-bench": 0.005669, + "runtime-bench": 0.136729, + "single-bench": 0.071736 }, { "num-threads": 3, "major-loop-count": 7, - "barrier-bench": 0.681504, - "parallel-bench": 0.798840, - "static-bench": 0.046850, - "dynamic-bench": 0.118318, - "guided-bench": 0.003853, - "runtime-bench": 0.103626, - "single-bench": 0.087014 + "barrier-bench": 0.697402, + "parallel-bench": 0.796755, + "static-bench": 0.045589, + "dynamic-bench": 0.122541, + "guided-bench": 0.003835, + "runtime-bench": 0.103212, + "single-bench": 0.089041 }, { "num-threads": 4, "major-loop-count": 7, - "barrier-bench": 0.939185, - "parallel-bench": 0.963152, - "static-bench": 0.053478, - "dynamic-bench": 0.123278, - "guided-bench": 0.002950, - "runtime-bench": 0.123275, - "single-bench": 0.114126 + "barrier-bench": 0.988437, + "parallel-bench": 0.900906, + "static-bench": 0.050580, + "dynamic-bench": 0.122782, + "guided-bench": 0.002929, + "runtime-bench": 0.122778, + "single-bench": 0.117768 } ] *** END OF JSON DATA *** -- embedded brains GmbH & Co. KG Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: [email protected] phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ _______________________________________________ devel mailing list [email protected] http://lists.rtems.org/mailman/listinfo/devel
