1 /* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
5 * Copyright (C) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
8 #ifndef _LTTNG_WRAPPER_MM_H
9 #define _LTTNG_WRAPPER_MM_H
12 #include <linux/oom.h>
14 #include <lttng/kernel-version.h>
16 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
18 void wrapper_vm_flags_set(struct vm_area_struct
*vma
,
21 vm_flags_set(vma
, flags
);
25 void wrapper_vm_flags_set(struct vm_area_struct
*vma
,
28 vma
->vm_flags
|= flags
;
32 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0) \
33 || LTTNG_UBUNTU_KERNEL_RANGE(4,4,25,44, 4,5,0,0))
36 * Returns true if the current estimation of the number of page available is
37 * larger than the number of pages passed as parameter.
40 bool wrapper_check_enough_free_pages(unsigned long num_pages
)
42 return num_pages
< si_mem_available();
48 bool wrapper_check_enough_free_pages(unsigned long num_pages
)
51 * The si_mem_available function is not available on this kernel. Since
52 * we can't reliably know if there is enough memory available, so we
59 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
61 void wrapper_set_current_oom_origin(void)
63 return set_current_oom_origin();
67 void wrapper_clear_current_oom_origin(void)
69 return clear_current_oom_origin();
72 #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
75 void wrapper_set_current_oom_origin(void)
81 void wrapper_clear_current_oom_origin(void)
85 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
86 #endif /* _LTTNG_WRAPPER_MM_H */
This page took 0.031613 seconds and 4 git commands to generate.