1 typedef unsigned long __kernel_size_t;
2 typedef long __kernel_ssize_t;
3 typedef long long __kernel_loff_t;
4 typedef __kernel_loff_t loff_t;
5 typedef __kernel_size_t size_t;
6 typedef __kernel_ssize_t ssize_t;
7 static inline __attribute__ ((always_inline))
8 int __test_bit(int nr, const void *addr)
13 mask = 1 << (nr & 0x1f);
14 return ((mask & *a) != 0);
16 static inline __attribute__ ((always_inline))
17 int test_bit(int nr, const void *addr)
19 return __test_bit(nr, addr);
27 typedef struct cpumask {
29 bits[(((1) + (8 * sizeof(long)) - 1) / (8 * sizeof(long)))];
33 typedef int (*initcall_t) (void);
34 struct file_operations {
35 ssize_t(*read) (struct file *, char *, size_t, loff_t *);
36 ssize_t(*write) (struct file *, const char *, size_t, loff_t *);
37 int (*open) (struct inode *, struct file *);
39 struct trace_array_cpu {
43 struct trace_array_cpu *data[1];
45 static cpumask_t tracing_buffer_mask;
46 static struct trace_array global_trace;
47 int tracing_open_generic(struct inode *inode, struct file *filp)
50 static cpumask_t tracing_cpumask = (cpumask_t) {
52 static cpumask_t tracing_cpumask_new;
53 static struct mutex tracing_cpumask_update_lock = {
56 ,.magic = &tracing_cpumask_update_lock
58 static ssize_t tracing_cpumask_read(struct file *filp, char *ubuf, size_t count,
62 static ssize_t tracing_cpumask_write(struct file *filp, const char *ubuf,
63 size_t count, loff_t * ppos)
66 for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)tracing_buffer_mask) {
67 if (test_bit((cpu), (tracing_cpumask).bits)
68 && !test_bit((cpu), (tracing_cpumask_new).bits)) {
69 atomic_inc(&global_trace.data[cpu]->disabled);
71 if (!test_bit((cpu), (tracing_cpumask).bits)
72 && test_bit((cpu), (tracing_cpumask_new).bits)) {
73 atomic_dec(&global_trace.data[cpu]->disabled);
77 static struct file_operations tracing_cpumask_fops = {
78 .open = tracing_open_generic,.read = tracing_cpumask_read,.write =
79 tracing_cpumask_write,
81 static ssize_t tracing_mark_write(struct file *filp, const char *ubuf,
82 size_t cnt, loff_t * fpos)
85 static struct file_operations tracing_max_lat_fops = {
86 .open = tracing_open_generic,.write = tracing_mark_write,
88 static __attribute__ ((__section__(".init.text"))) __attribute__ ((__cold__))
89 __attribute__ ((no_instrument_function))
90 int tracer_init_debugfs(void)
92 struct dentry *d_tracer;
95 debugfs_create_file("tracing_cpumask", 0644, d_tracer, ((void *)0),
96 &tracing_cpumask_fops);
98 static initcall_t __initcall_tracer_init_debugfs5 __attribute__ ((__used__))
99 __attribute__ ((__section__(".initcall" "5" ".init"))) =