fix: media: v4l2: abstract timeval handling in v4l2_buffer (v5.6)
[lttng-modules.git] / wrapper / mm.h
... / ...
CommitLineData
1/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
2 *
3 * wrapper/mm.h
4 *
5 * Copyright (C) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
6 */
7
8#ifndef _LTTNG_WRAPPER_MM_H
9#define _LTTNG_WRAPPER_MM_H
10
11#include <linux/mm.h>
12#include <linux/oom.h>
13
14#include <lttng-kernel-version.h>
15
16#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) \
17 || LTTNG_UBUNTU_KERNEL_RANGE(4,4,25,44, 4,5,0,0))
18
19/*
20 * Returns true if the current estimation of the number of page available is
21 * larger than the number of pages passed as parameter.
22 */
23static inline
24bool wrapper_check_enough_free_pages(unsigned long num_pages)
25{
26 return num_pages < si_mem_available();
27}
28
29#else
30
31static inline
32bool wrapper_check_enough_free_pages(unsigned long num_pages)
33{
34 /*
35 * The si_mem_available function is not available on this kernel. Since
36 * we can't reliably know if there is enough memory available, so we
37 * return true.
38 */
39 return true;
40}
41#endif
42
43#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
44static inline
45void wrapper_set_current_oom_origin(void)
46{
47 return set_current_oom_origin();
48}
49
50static inline
51void wrapper_clear_current_oom_origin(void)
52{
53 return clear_current_oom_origin();
54}
55
56#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
57
58static inline
59void wrapper_set_current_oom_origin(void)
60{
61 return;
62}
63
64static inline
65void wrapper_clear_current_oom_origin(void)
66{
67 return;
68}
69#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
70#endif /* _LTTNG_WRAPPER_MM_H */
This page took 0.022335 seconds and 4 git commands to generate.