Add experimental option force using SYS_process_madvise

This commit is contained in:
Slobodan Predolac
2025-04-25 18:26:49 -07:00
committed by Qi Wang
parent 1956a54a43
commit 852da1be15
3 changed files with 23 additions and 1 deletions

View File

@@ -640,10 +640,16 @@ init_process_madvise(void) {
return false;
}
#ifdef SYS_process_madvise
#define JE_SYS_PROCESS_MADVISE_NR SYS_process_madvise
#else
#define JE_SYS_PROCESS_MADVISE_NR EXPERIMENTAL_SYS_PROCESS_MADVISE_NR
#endif
static bool
pages_purge_process_madvise_impl(void *vec, size_t vec_len,
size_t total_bytes) {
size_t purged_bytes = (size_t)syscall(SYS_process_madvise, pidfd,
size_t purged_bytes = (size_t)syscall(JE_SYS_PROCESS_MADVISE_NR, pidfd,
(struct iovec *)vec, vec_len, MADV_DONTNEED, 0);
return purged_bytes != total_bytes;