Multiple processes listing a large directory over nfs concurrently takes a very long time
Issue
- When multiple processes are listing the contents of a directory simultaneously, calls to getdents() can take a very long time. This occurs even if the contents of the directory are unchanging.
- As the number of directory entries increases, and as the number of processes listing the directory concurrently increases, the time required to list a directory can become huge.
- This issue is different than https://access.redhat.com/solutions/2249321 due to the fact that the directory being listed is not being modified at the same time it is being listed.
Environment
- Red Hat Enterprise Linux 7
- kernel at least 3.10.0-229.el7 and before 3.10.0-693.el7
- Red Hat Enterprise Linux 6
- kernel at least 2.6.32-573.el6 and before 2.6.32-696.el6
- Upstream kernels
- seen on 4.8.0-rc2+
- nfs
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
