* Ingo Molnar wrote: > very nice! I'd expect breakages and complications too so i > restructured tip/tracing/* a bit: firstly i created a tip/tracing/core > append-only merge branch which collects all the known-robust bits. > Then i created a new branch for your new generic ring-buffer feature: > tip/tracing/ring-buffer, and applied your patches. I've started > testing it. -tip testing found that tip/tracing/ring-buffer causes a new lockdep splat: [ 0.000000] Linux version 2.6.27-rc8-tip-00915-g8cb18a9-dirty (mingo@dione) (gcc version 4.2.3) #37501 SMP Tue Sep 30 10:10:10 CEST 2008 [...] [ 0.268001] calling tracer_alloc_buffers+0x0/0x1e5 @ 1 [ 0.270983] ------------[ cut here ]------------ [ 0.271100] WARNING: at kernel/lockdep.c:2880 check_flags+0x63/0x179() [ 0.271219] Modules linked in: [ 0.271356] Pid: 1, comm: swapper Not tainted 2.6.27-rc8-tip-00915-g8cb18a9-dirty #37501 [ 0.271563] Call Trace: [ 0.271678] [] warn_on_slowpath+0x5d/0x84 [ 0.271797] [] ? __lock_acquire+0xba4/0xbc5 [ 0.271916] [] ? __raw_spin_is_locked+0x17/0x1a [ 0.272001] [] ? graph_unlock+0x79/0x7e [ 0.272001] [] ? mark_lock+0x1c/0x361 [ 0.272001] [] ? mark_held_locks+0x56/0x71 [ 0.272001] [] ? time_hardirqs_off+0x12/0x26 [ 0.272001] [] ? trace_hardirqs_off_caller+0x21/0xc2 [ 0.272001] [] check_flags+0x63/0x179 [ 0.272001] [] lock_acquire+0x51/0xc2 [ 0.272001] [] _spin_lock+0x36/0x65 [ 0.272001] [] ? ring_buffer_reset_cpu+0x47/0x6b [ 0.272001] [] ring_buffer_reset_cpu+0x47/0x6b [ 0.272001] [] tracing_reset+0xc/0xe [ 0.272001] [] boot_trace_init+0x2a/0x46 [ 0.272001] [] tracer_alloc_buffers+0x1a7/0x1e5 [ 0.272001] [] ? tracer_alloc_buffers+0x0/0x1e5 [ 0.272001] [] do_one_initcall+0x62/0x165 [ 0.272001] [] ? print_cpu_info+0xab/0x135 [ 0.272001] [] ? get_apic_id+0x0/0x13 [ 0.272001] [] ? tracer_alloc_buffers+0x0/0x1e5 [ 0.272001] [] kernel_init+0x60/0x21a [ 0.272001] [] child_rip+0xa/0x11 [ 0.272001] [] ? restore_args+0x0/0x30 [ 0.272001] [] ? ftrace_convert_nops+0x25/0xb0 [ 0.272001] [] ? sched_clock+0x17/0x1a [ 0.272001] [] ? kernel_init+0x0/0x21a [ 0.272001] [] ? child_rip+0x0/0x11 [ 0.272001] ---[ end trace a7919e7f17c0a725 ]--- [ 0.272001] possible reason: unannotated irqs-off. [ 0.272001] irq event stamp: 9069 [ 0.272001] hardirqs last enabled at (9069): [] trace_hardirqs_on+0xd/0xf [ 0.272001] hardirqs last disabled at (9068): [] trace_hardirqs_off+0xd/0xf [ 0.272001] softirqs last enabled at (4082): [] __do_softirq+0xe0/0xed [ 0.272001] softirqs last disabled at (4075): [] call_softirq+0x1c/0x28 [ 0.272010] initcall tracer_alloc_buffers+0x0/0x1e5 returned 0 after 7 msecs [ 0.272409] lockdep: fixing up alternatives. [ 0.272604] Booting processor 1 APIC 0x1 ip 0x6000 [ 0.004000] Initializing CPU#1 on a 64-bit allyesconfig bootup. Config attached. The box booted up fine otherwise, so i'll continue testing the new code, to find other problems (if any). Ingo