> On Oct 20, 2017, at 8:27 AM, Stephan Wiesand <[email protected]> wrote:
> 
> [taking this thread to -devel]
> 
>> On 20. Oct 2017, at 12:04, Stephan Wiesand <[email protected]> wrote:
>> 
>> I ran configure against the EL7.3 and EL7.4 GA kernels (3.10.0-514.el7 and 
>> 3.10.0-696.el7) and compared the results.
>> 
>> Besides the fact that in the 7.4 case conftest.c is compiled with an 
>> additional -DCONFIG_AVX512, which I doubt makes a difference, there are some 
>> differences in configure test results:
>> 
>>                      7.3     7.4
>> locks_lock_file_wait no      yes
>> inode_lock           no      yes
>> exported tasklist_lock       yes     no
> 

Thank you for this good information, Stephan.  Were those 3 the only OpenAFS 
config differences you found?

> It turns out the EL7.4 kernel turns tasklist_lock from an rwlock_t into a 
> qrwlock_t and all read_{,un}lock() calls into qread_{,un}lock() ones. And no, 
> it's not what mainline kernels do, including 4.14-rc5.
> 
> We should probably adapt to this, and I guess it shouldn’t be too hard, but 
> is this change likely to be the reason for more frequent getcwd() problems?


I took a look at all three differences with regard to the OpenAFS 1.6.20.2 
code, and I don’t see a way that any of them could be causing the getcwd 
problems.  

In particular, the threadlist_lock references in OpenAFS 1.6.20.2 source will 
not actually result in any OpenAFS kernel module references, due to the results 
from other parts of the autoconfig for RHEL 7.4.  You can verify this for 
yourself by issuing:  ’nm <openafs.ko> | grep threadlist_lock’

However, don’t rely on the nm trick to look for the other symbols referenced 
above. inode_lock() is defined as static inline and is thus inlined as a 
mutex_unlock(&inode->i_lock), which is indistinguishable from other 
mutex_unlock references.  And locks_lock_file_wait() is also static inline - it 
shows up as locks_lock_inode_wait in the nm output. 

So in summary, thank you, but I don’t believe any of these explain the current 
getcwd symptoms.

Has anyone seen this with RHEL 7.4 and the previous OpenAFS releases -  
1.6.20.1 or older?


—
Mark Vitale
OpenAFS release team

:��T�z���x%��N���'^��h���~�+�m����+-��^��좸?�������+-�w���^���u��

Reply via email to