To me it looks like a bug report should be filed with glibc to say if they WONTFIX they have to quit claiming they support TPS too. According to http://man7.org/linux/man-pages/man3/pthread_rwlock_rdlock.3p.html the LINUX kernel is expected to implement the POSIX Issue 7TC1 requirements for hosts, so this should not be a bar to glibc as a client from supporting it. As the patch in the 2nd link indicates, the windows kernel does support it through the mingw libc's, so it is apparently FIXable. On Thursday, August 29, 2019 Austin Group Bug Tracker <[email protected]> wrote:
A NOTE has been added to this issue. ====================================================================== http://austingroupbugs.net/view.php?id=1111 ====================================================================== Reported By: torvald Assigned To: ====================================================================== Project: 1003.1(2013)/Issue7+TC1 Issue ID: 1111 Category: Base Definitions and Headers Type: Clarification Requested Severity: Objection Priority: normal Status: Resolved Name: Torvald Riegel Organization: Red Hat User Reference: Section: pthread_rwlock_rdlock/pthread_rwlock_tryrdlock (XSH, 3 System Interfaces) Page Number: (page or range of pages) Line Number: (Line or range of lines) Interp Status: --- Final Accepted Text: http://austingroupbugs.net/view.php?id=1111#c4042 Resolution: Accepted As Marked Fixed in Version: ====================================================================== Date Submitted: 2017-01-04 23:06 UTC Last Modified: 2019-08-30 00:41 UTC ====================================================================== Summary: pthread_rwlock_rdlock requirements if TPS is supported are under-specified, error-prone for users, and inefficient ====================================================================== ---------------------------------------------------------------------- (0004545) eblake (manager) - 2019-08-30 00:41 http://austingroupbugs.net/view.php?id=1111#c4545 ---------------------------------------------------------------------- https://sourceware.org/bugzilla/show_bug.cgi?id=13701 complains that there is still an inherent performance penalty in the resulting wording on scheduling fairness, and that glibc's implementation has chosen to disobey any requirements on fair scheduling because of the overhead required. https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00089.html shows that gnulib is acknowledging that glibc's default behavior will never be fair enough under TPS scheduling; and serves as an example of a program able to sniff out the difference according to the current wording of the standard. We may need to reopen this or create a related bug, deciding whether to further relax things to permit glibc's behavior and warn implementations about workarounds when fairness is important but cannot be guaranteed by libc alone. Issue History Date Modified Username Field Change ====================================================================== 2017-01-04 23:06 torvald New Issue 2017-01-04 23:06 torvald Name => Torvald Riegel 2017-01-04 23:06 torvald Organization => Red Hat 2017-01-04 23:06 torvald Section => pthread_rwlock_rdlock/pthread_rwlock_tryrdlock (XSH, 3 System Interfaces) 2017-01-04 23:06 torvald Page Number => (page or range of pages) 2017-01-04 23:06 torvald Line Number => (Line or range of lines) 2017-01-05 02:13 bhaible Note Added: 0003528 2017-01-05 10:31 bhaible Issue Monitored: bhaible 2017-01-05 12:00 torvald Note Added: 0003534 2017-01-05 12:15 bhaible Note Added: 0003535 2017-01-05 15:56 shware_systems Note Added: 0003536 2017-01-06 13:21 praiskup Issue Monitored: praiskup 2017-01-06 13:34 praiskup Note Added: 0003538 2017-01-07 09:06 Florian Weimer Issue Monitored: Florian Weimer 2017-01-10 11:48 torvald Note Added: 0003540 2018-06-14 16:15 geoffclare Note Added: 0004042 2018-06-14 16:16 geoffclare Note Edited: 0004042 2018-06-14 16:17 geoffclare Interp Status => --- 2018-06-14 16:17 geoffclare Final Accepted Text => http://austingroupbugs.net/view.php?id=1111#c4042 2018-06-14 16:17 geoffclare Status New => Resolved 2018-06-14 16:17 geoffclare Resolution Open => Accepted As Marked 2018-06-14 16:17 geoffclare Tag Attached: tc3-2008 2019-08-30 00:41 eblake Note Added: 0004545 ======================================================================
