Fix: Remove 'type' argument from access_ok() function (v5.0)
[lttng-modules.git] / wrapper / writeback.h
... / ...
CommitLineData
1/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
2 *
3 * wrapper/writeback.h
4 *
5 * wrapper around global_dirty_limit read. Using KALLSYMS with KALLSYMS_ALL
6 * to get its address when available, else we need to have a kernel that
7 * exports this variable to GPL modules.
8 *
9 * Copyright (C) 2013 Mentor Graphics Corp.
10 */
11
12#ifndef _LTTNG_WRAPPER_WRITEBACK_H
13#define _LTTNG_WRAPPER_WRITEBACK_H
14
15#include <lttng-kernel-version.h>
16
17#ifdef CONFIG_KALLSYMS_ALL
18#include <linux/kallsyms.h>
19#include <wrapper/kallsyms.h>
20
21
22
23#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
24
25static struct wb_domain *global_wb_domain_sym;
26
27static inline
28unsigned long wrapper_global_dirty_limit(void)
29{
30 if (!global_wb_domain_sym)
31 global_wb_domain_sym =
32 (void *) kallsyms_lookup_dataptr("global_wb_domain");
33 if (global_wb_domain_sym) {
34 return global_wb_domain_sym->dirty_limit;
35 } else {
36 printk_once(KERN_WARNING "LTTng: global_wb_domain symbol lookup failed.\n");
37 return 0;
38 }
39}
40#else
41
42static unsigned long *global_dirty_limit_sym;
43
44static inline
45unsigned long wrapper_global_dirty_limit(void)
46{
47 if (!global_dirty_limit_sym)
48 global_dirty_limit_sym =
49 (void *) kallsyms_lookup_dataptr("global_dirty_limit");
50 if (global_dirty_limit_sym) {
51 return *global_dirty_limit_sym;
52 } else {
53 printk_once(KERN_WARNING "LTTng: global_dirty_limit symbol lookup failed.\n");
54 return 0;
55 }
56}
57#endif
58
59#else /* CONFIG_KALLSYMS_ALL */
60
61#include <linux/writeback.h>
62
63static inline
64unsigned long wrapper_global_dirty_limit(void)
65{
66 return global_dirty_limit;
67}
68
69#endif
70
71#endif /* _LTTNG_WRAPPER_WRITEBACK_H */
This page took 0.032274 seconds and 4 git commands to generate.