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); } struct trace_array_cpu { int disabled; }; struct { struct trace_array_cpu *data[1]; } global_trace; struct { unsigned long bits[1]; } tracing_cpumask; 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); } }