lkml.org 
[lkml]   [2011]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [ANNOUNCE] 3.0.4-rt13
From
Date
On Mon, 2011-09-12 at 10:59 +0200, Peter Zijlstra wrote:
> On Sun, 2011-09-11 at 12:35 +0200, Mike Galbraith wrote:
> > (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




\
 
 \ /
  Last update: 2011-09-12 11:07    [W:0.897 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site