futex merge v4.4.280 troubles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Steven,

as discussed in today's call, I've pushed my v4.4.280 merge attempt
to my korg git tree into the v4.4-rt-next branch

- git://git.kernel.org/pub/scm/linux/kernel/git/wagi/linux-stable-rt.git
- v4.4-rt-next

If I revert "futex: Futex_unlock_pi() determinism" pi_stress will work. With the patch applied the process just hangs. I've attached gdb to see what's going on in this case:

(gdb) bt
#0  rdtsc () at /home/wagi/rt/v4.4-rt/arch/x86/include/asm/msr.h:136
#1  rdtsc_ordered () at /home/wagi/rt/v4.4-rt/arch/x86/include/asm/msr.h:161
#2 delay_tsc (__loops=3571228) at /home/wagi/rt/v4.4-rt/arch/x86/lib/delay.c:60 #3 0xffffffff8141fc96 in __delay (loops=<optimized out>) at /home/wagi/rt/v4.4-rt/arch/x86/lib/delay.c:160 #4 __const_udelay (xloops=<optimized out>) at /home/wagi/rt/v4.4-rt/arch/x86/lib/delay.c:174 #5 0xffffffff819f8086 in panic (fmt=<optimized out>) at /home/wagi/rt/v4.4-rt/kernel/panic.c:253 #6 0xffffffff81007b7d in oops_end (flags=70, regs=0xffff88003fc03d18, signr=9)
    at /home/wagi/rt/v4.4-rt/arch/x86/kernel/dumpstack.c:247
#7 0xffffffff8105140f in no_context (regs=0xffff88003fc03d18, error_code=0, address=18446744054555604424, signal=<optimized out>, si_code=<optimized out>) at /home/wagi/rt/v4.4-rt/arch/x86/mm/fault.c:750 #8 0xffffffff810516f6 in __bad_area_nosemaphore (regs=0xffff88003fc03d18, error_code=0, address=18446744054555604424,
    si_code=196609) at /home/wagi/rt/v4.4-rt/arch/x86/mm/fault.c:830
#9 0xffffffff810517f3 in bad_area_nosemaphore (regs=<optimized out>, error_code=<optimized out>, address=<optimized out>)
    at /home/wagi/rt/v4.4-rt/arch/x86/mm/fault.c:837
#10 0xffffffff81051a5d in __do_page_fault (regs=0xffffffff81dfe77d, error_code=18446744071593360363, address=44)
    at /home/wagi/rt/v4.4-rt/arch/x86/mm/fault.c:1202
#11 0xffffffff81051f1b in trace_do_page_fault (regs=0xffff88003fc03d18, error_code=0)
    at /home/wagi/rt/v4.4-rt/arch/x86/mm/fault.c:1353
#12 0xffffffff8104c44c in do_async_page_fault (regs=0xffff88003fc03d18, error_code=0)
    at /home/wagi/rt/v4.4-rt/arch/x86/kernel/kvm.c:267
#13 0xffffffff81a05f98 in async_page_fault () at /home/wagi/rt/v4.4-rt/arch/x86/entry/entry_64.S:1057
#14 0x0000000000000006 in irq_stack_union ()
#15 0xffff880033c28000 in ?? ()
#16 0xffff880033c28000 in ?? ()
#17 0x000000000038933e in ?? ()
#18 0xffff88003fc03dd8 in ?? ()
#19 0x000000008108512d in ?? ()
#20 0x2d2d2d2d2d2d2d2d in ?? ()
#21 0x000000006144ba17 in ?? ()
#22 0x0000000000000024 in irq_stack_union ()
#23 0x000000018f93f7e6 in ?? ()
#24 0x000000000000f6a8 in ?? ()
#25 0xffffffff8108512d in migrate_disable () at /home/wagi/rt/v4.4-rt/kernel/sched/core.c:3209 #26 0xffffffff8109c42f in update_curr_rt (rq=0x38933e) at /home/wagi/rt/v4.4-rt/kernel/sched/rt.c:952 #27 0xffffffff8109c5d7 in task_tick_rt (rq=0xffff88003fc15000, p=0xffff880033c28000, queued=<optimized out>)
    at /home/wagi/rt/v4.4-rt/kernel/sched/rt.c:2223
#28 0xffffffff8108d013 in scheduler_tick () at /home/wagi/rt/v4.4-rt/kernel/sched/core.c:3048 #29 0xffffffff810c1c77 in update_process_times (user_tick=0) at /home/wagi/rt/v4.4-rt/kernel/time/timer.c:1492 #30 0xffffffff810d1e1d in tick_sched_handle (ts=<optimized out>, regs=<optimized out>)
    at /home/wagi/rt/v4.4-rt/kernel/time/tick-sched.c:156
#31 tick_sched_timer (timer=0xffff88003fc10c00) at /home/wagi/rt/v4.4-rt/kernel/time/tick-sched.c:1089 #32 0xffffffff810c2a62 in __run_hrtimer (now=<optimized out>, timer=<optimized out>, base=<optimized out>, cpu_base=<optimized out>) at /home/wagi/rt/v4.4-rt/kernel/time/hrtimer.c:1343 #33 __hrtimer_run_queues (cpu_base=0xffffffff81dfe77d, now=...) at /home/wagi/rt/v4.4-rt/kernel/time/hrtimer.c:1519 #34 0xffffffff810c3653 in hrtimer_interrupt (dev=0xffff88003fc0ee00) at /home/wagi/rt/v4.4-rt/kernel/time/hrtimer.c:1557 #35 0xffffffff8103faec in local_apic_timer_interrupt () at /home/wagi/rt/v4.4-rt/arch/x86/kernel/apic/apic.c:943
#36 0xffffffff81a06a93 in smp_apic_timer_interrupt (regs=<optimized out>)
    at /home/wagi/rt/v4.4-rt/arch/x86/kernel/apic/apic.c:967
#37 0xffffffff81a04b9e in apic_timer_interrupt () at /home/wagi/rt/v4.4-rt/arch/x86/entry/entry_64.S:756


In migrate_disable() we clearly hit this spot here:

	if (unlikely(p->migrate_disable_atomic)) {
		tracing_off();
		WARN_ON_ONCE(1);
	}

and then things go really south.

Daniel



[Index of Archives]     [Linux USB Development]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux