diff options
author | Ruslan Kovalev <ruslan.a.kovalev@gmail.com> | 2022-02-10 16:46:45 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:45 +0300 |
commit | 9123176b341b6f2658cff5132482b8237c1416c8 (patch) | |
tree | 49e222ea1c5804306084bb3ae065bb702625360f /util/system/madvise.cpp | |
parent | 59e19371de37995fcb36beb16cd6ec030af960bc (diff) | |
download | ydb-9123176b341b6f2658cff5132482b8237c1416c8.tar.gz |
Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'util/system/madvise.cpp')
-rw-r--r-- | util/system/madvise.cpp | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/util/system/madvise.cpp b/util/system/madvise.cpp index b4d2454146..58c894e3ef 100644 --- a/util/system/madvise.cpp +++ b/util/system/madvise.cpp @@ -1,16 +1,16 @@ -#include "madvise.h" -#include "align.h" -#include "info.h" - -#include <util/generic/yexception.h> - -#if defined(_win_) +#include "madvise.h" +#include "align.h" +#include "info.h" + +#include <util/generic/yexception.h> + +#if defined(_win_) #include <util/system/winint.h> -#else +#else #include <sys/types.h> #include <sys/mman.h> -#endif - +#endif + #ifndef MADV_DONTDUMP /* This flag is defined in sys/mman.h since Linux 3.4, but currently old libc header is in use \ for capability with Ubuntu 12.04, so we need to define it here manually */ #define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, overrides the coredump filter bits */ @@ -21,34 +21,34 @@ #define MADV_DODUMP 17 /* Undo the effect of an earlier MADV_DONTDUMP */ #endif -namespace { +namespace { void Madvise(int flag, const void* cbegin, size_t size) { - static const size_t pageSize = NSystemInfo::GetPageSize(); - void* begin = AlignDown(const_cast<void*>(cbegin), pageSize); - size = AlignUp(size, pageSize); - -#if defined(_win_) + static const size_t pageSize = NSystemInfo::GetPageSize(); + void* begin = AlignDown(const_cast<void*>(cbegin), pageSize); + size = AlignUp(size, pageSize); + +#if defined(_win_) if (!VirtualFree((LPVOID)begin, size, flag)) { TString err(LastSystemErrorText()); ythrow yexception() << "VirtualFree(" << begin << ", " << size << ", " << flag << ")" << " returned error: " << err; - } -#else + } +#else if (-1 == madvise(begin, size, flag)) { TString err(LastSystemErrorText()); ythrow yexception() << "madvise(" << begin << ", " << size << ", " << flag << ")" << " returned error: " << err; - } -#endif - } -} - -void MadviseSequentialAccess(const void* begin, size_t size) { + } +#endif + } +} + +void MadviseSequentialAccess(const void* begin, size_t size) { #if !defined(_win_) Madvise(MADV_SEQUENTIAL, begin, size); #endif -} - +} + void MadviseSequentialAccess(TArrayRef<const char> data) { MadviseSequentialAccess(data.data(), data.size()); } @@ -57,12 +57,12 @@ void MadviseSequentialAccess(TArrayRef<const ui8> data) { MadviseSequentialAccess(data.data(), data.size()); } -void MadviseRandomAccess(const void* begin, size_t size) { +void MadviseRandomAccess(const void* begin, size_t size) { #if !defined(_win_) Madvise(MADV_RANDOM, begin, size); #endif -} - +} + void MadviseRandomAccess(TArrayRef<const char> data) { MadviseRandomAccess(data.data(), data.size()); } @@ -71,7 +71,7 @@ void MadviseRandomAccess(TArrayRef<const ui8> data) { MadviseRandomAccess(data.data(), data.size()); } -void MadviseEvict(const void* begin, size_t size) { +void MadviseEvict(const void* begin, size_t size) { #if defined(_win_) Madvise(MEM_DECOMMIT, begin, size); #elif defined(_linux_) || defined(_cygwin_) @@ -79,7 +79,7 @@ void MadviseEvict(const void* begin, size_t size) { #else // freebsd, osx Madvise(MADV_FREE, begin, size); #endif -} +} void MadviseEvict(TArrayRef<const char> data) { MadviseEvict(data.data(), data.size()); |