diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-08-27 13:34:10 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-08-27 13:34:25 +0200 |
commit | 35d5d87540c3262c341c35e974d0d3a53ce30684 (patch) | |
tree | 8899a534e97890ea8167f2448f1782d06c4f09f9 /winsup/cygwin/autoload.cc | |
parent | e6d9af11f1f21a70a6d947ab452ac4d82caace64 (diff) | |
download | cygnal-35d5d87540c3262c341c35e974d0d3a53ce30684.tar.gz cygnal-35d5d87540c3262c341c35e974d0d3a53ce30684.tar.bz2 cygnal-35d5d87540c3262c341c35e974d0d3a53ce30684.zip |
Implement POSIX_MADV_WILLNEED/POSIX_MADV_DONTNEED for newer OSes
* autoload.cc (DiscardVirtualMemory): Import.
(PrefetchVirtualMemory): Import.
* mmap.cc (posix_madvise): Actually implement POSIX_MADV_WILLNEED
utilizing PrefetchVirtualMemory and POSIX_MADV_DONTNEED utilizing
DiscardVirtualMemory on systems supporting them.
* wincap.h (wincaps::has_broken_prefetchvm): New element.
* wincap.cc: Implement above element throughout.
(wincapc::init): Make sure has_broken_prefetchvm is only true on
W10 under WOW64.
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2003.
(CYGWIN_VERSION_API_MINOR): Reset to 0.
* new-features.xml (ov-new2.3): New section, document posix_madvise
POSIX_MADV_WILLNEED/POSIX_MADV_DONTNEED change.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r-- | winsup/cygwin/autoload.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index f9c0f00cb..0192c6d64 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -570,12 +570,14 @@ LoadDLLfunc (GetUdpTable, 12, iphlpapi) LoadDLLfuncEx (CancelSynchronousIo, 4, kernel32, 1) LoadDLLfunc (CreateSymbolicLinkW, 12, kernel32) +LoadDLLfuncEx2 (DiscardVirtualMemory, 8, kernel32, 1, 127) LoadDLLfuncEx (GetLogicalProcessorInformationEx, 12, kernel32, 1) LoadDLLfuncEx (GetNamedPipeClientProcessId, 8, kernel32, 1) LoadDLLfunc (GetSystemTimePreciseAsFileTime, 4, kernel32) LoadDLLfuncEx (IdnToAscii, 20, kernel32, 1) LoadDLLfuncEx (IdnToUnicode, 20, kernel32, 1) LoadDLLfunc (LocaleNameToLCID, 8, kernel32) +LoadDLLfuncEx (PrefetchVirtualMemory, 16, kernel32, 1) LoadDLLfunc (SetThreadGroupAffinity, 12, kernel32) LoadDLLfunc (SetThreadStackGuarantee, 4, kernel32) |