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                          
======================================================================


Reply via email to