[profile] Remove useless msync when dumping gcda files

Summary:
According the mmap man page (https://man7.org/linux/man-pages/man2/mmap.2.html) is only required to precisely control updates, so we can safely remove it.
Since gcda files are dumped just before to call exec** functions, dump need to be fast.
On my computer, Firefox built with --coverage needs ~1min40 to display something and in removing msync it needs ~8s.

Reviewers: void

Subscribers: #sanitizers, marco-c, sylvestre.ledru

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D81060
This commit is contained in:
Calixte Denizet
2020-06-03 09:44:36 +02:00
parent 36f22cd28d
commit 5502bd66bb

View File

@@ -303,16 +303,11 @@ static void unmap_file() {
mmap_handle = NULL;
#else
if (msync(write_buffer, file_size, MS_SYNC) == -1) {
if (munmap(write_buffer, file_size) == -1) {
int errnum = errno;
fprintf(stderr, "profiling: %s: cannot msync: %s\n", filename,
fprintf(stderr, "profiling: %s: cannot munmap: %s\n", filename,
strerror(errnum));
}
/* We explicitly ignore errors from unmapping because at this point the data
* is written and we don't care.
*/
(void)munmap(write_buffer, file_size);
#endif
write_buffer = NULL;