Thread (46 messages) 46 messages, 6 authors, 2011-09-22

Re: [ANNOUNCE] 3.0.4-rt13

From: Mike Galbraith <hidden>
Date: 2011-09-12 09:05:13
Also in: lkml

On Mon, 2011-09-12 at 10:59 +0200, Peter Zijlstra wrote:
On Sun, 2011-09-11 at 12:35 +0200, Mike Galbraith wrote:
quoted
(gdb) list *do_sigtimedwait+0x62
0xffffffff8104f3e2 is in do_sigtimedwait (kernel/signal.c:2628).
2623             * Invert the set of allowed signals to get those we want to block.
2624             */
2625            sigdelsetmask(&mask, sigmask(SIGKILL) | sigmask(SIGSTOP));
2626            signotset(&mask);
2627
2628            spin_lock_irq(&tsk->sighand->siglock);
2629            sig = dequeue_signal(tsk, &mask, info);
2630            if (!sig && timeout) {
2631                    /*
2632                     * None ready, temporarily unblock those we're interested
(gdb) list *do_sigtimedwait+0x15f
0xffffffff8104f4df is in do_sigtimedwait (kernel/signal.c:2642).
2637                    tsk->real_blocked = tsk->blocked;
2638                    sigandsets(&tsk->blocked, &tsk->blocked, &mask);
2639                    recalc_sigpending();
2640                    spin_unlock_irq(&tsk->sighand->siglock);
2641
2642                    timeout = schedule_timeout_interruptible(timeout);
2643
2644                    spin_lock_irq(&tsk->sighand->siglock);
2645                    __set_task_blocked(tsk, &tsk->real_blocked);
2646                    siginitset(&tsk->real_blocked, 0);

Right, so what Thomas says.. Now admittedly I haven't had my morning
juice yet, but staring at that function I can't see why that warning
would trigger at all.

I'm going to try and reproduce, but Thomas is already saying he can't,
so I'm not too confident.

I you can easily trigger this, could you add some trace_printk() to
migrate_disable/enable that prints both counters etc.. so we can see wtf
happens?
It was highly repeatable with rt executive model running on 3 CPUs, will
poke.

	-Mike

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help