http://bugs.winehq.org/show_bug.cgi?id=33146
Bug #: 33146 Summary: Path of Exile "Allocating Space" very slow, due to NtFlushVirtualMemory being synchronous Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: default_357-line@yahoo.de Classification: Unclassified
The "Allocating Space" step of the Path of Exile installer/updater can take upwards of ten hours to complete (compared to a few minutes under Windows). Path of Exile calls FlushViewOfFile, which calls NtFlushVirtualMemory, which calls msync with MS_SYNC. The MSDN documentation for FlushViewOfFile http://msdn.microsoft.com/en-us/library/windows/desktop/aa366563%28v=vs.85%2... says, quote, "The FlushViewOfFile function does not flush the file metadata, and it does not wait to return until the changes are flushed from the underlying hardware disk cache and physically written to disk." This strongly indicates that NtFlushVirtualMemory is meant to be asynchronous. I'll submit a patch that corrects this, and fixes the Allocating Space slowdown.