mirror of
https://github.com/intel/llvm.git
synced 2026-02-02 10:08:59 +08:00
[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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user