[PATCH] D54995: [MemoryBuffer] By default assume that all files are volatile to prevent unintended file locks

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 28 06:39:42 PST 2018


ilya-biryukov added a subscriber: zturner.
ilya-biryukov added a comment.

cross-posting @zturner's comment from the mailing thread for the record:

> I’m afraid this is going to be too severe a performance regression if we change the default. So I don’t think this should be an LLVM-wide default

And yet, before proceeding further with this, could we figure out the exact cause of the issue? I.e.

- What are the combination of file open flags that force the files to be locked on windows?
- Is there a way to memory map a file on Windows without locking a file?
- What is the sequence of actions that trigger this in clang? Is it hard to notice because we keep files mmapped for small periods of time?
- Can we try to make a reliable repro? Even if it's infrequent, there are probably various hacky ways to make it more reproducible, e.g. adding sleeps into various points to keep the files locked for longer.




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

https://reviews.llvm.org/D54995





More information about the cfe-commits mailing list