int test_bit(int nr, const void *addr) { int *a = (int *)addr; int mask; a += nr >> 5; mask = 1 << (nr & 0x1f); return ((mask & *a) != 0); } typedef struct cpumask { unsigned long bits[1]; } cpumask_t; struct trace_array_cpu { int disabled; }; struct trace_array { struct trace_array_cpu *data[1]; }; cpumask_t tracing_buffer_mask; struct trace_array global_trace; cpumask_t tracing_cpumask; cpumask_t tracing_cpumask_new; tracing_cpumask_write() { int cpu; for (cpu = 0; cpu < 1; cpu++) { if (test_bit(cpu, tracing_cpumask.bits)) atomic_inc(&global_trace.data[cpu]->disabled); if (!test_bit(cpu, tracing_cpumask.bits)) atomic_dec(&global_trace.data[cpu]->disabled); } }