[PATCH] D69575: Improve module.pcm lock file performance on machines with high core counts

Paul Taykalo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 13:29:48 PST 2019


PaulTaykalo added a comment.

Hi @Ladd. I found this path too late:) Please check https://reviews.llvm.org/D70563. Few corner cases are covered there, which aren't covered in your patch.



================
Comment at: llvm/lib/Support/LockFileManager.cpp:357
+        
+        int EventCount = kevent(KernelQueue, &EventsToMonitor, 1, &EventData,
+                                1, &Timeout);
----------------
If lock file will be deleted in between  opening file and calling this method, kQueue, will wait for full time and will end up with a timeout

you can check this behavior in source code, provided in https://reviews.llvm.org/D70563



================
Comment at: llvm/lib/Support/LockFileManager.cpp:358
+        int EventCount = kevent(KernelQueue, &EventsToMonitor, 1, &EventData,
+                                1, &Timeout);
+        
----------------
In the original code, there's an additional check if the lock owner has died.
How about listening to that event as well?
again, you can take a pick here https://reviews.llvm.org/D70563


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69575/new/

https://reviews.llvm.org/D69575





More information about the llvm-commits mailing list