Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
Lustre 2.10.8, Lustre 2.12.3
-
9223372036854775807
Description
If multiple threads on a client are executing statfs() calls concurrently, and the obd_statfs() cache has expired, then each thread will send an OST_STATFS RPC to each OST. With certain statfs-heavy workloads on many-core client nodes, this can result in thousands of needless RPCs being sent from each client every few seconds.
Since all of the callers funnel through obd_statfs(), and there is no benefit to having multiple OST_STATFS or MDS_STATFS replies from the same target (they return the same data, and all threads are blocked on the reply) it makes sense to just allow one thread to execute the statfs and other threads to (interruptibly) wait for it to complete.
Attachments
Issue Links
- is related to
-
LU-13296 statfs isn't work properly with MDT statfs proxy
- Resolved