Re: System hangs during interruptible_sleep_on_timeout() under 2.4.9

From: george anzinger (george@mvista.com)
Date: Mon Oct 01 2001 - 11:39:37 EST


"Richard B. Johnson" wrote:
>
> On Thu, 27 Sep 2001, Norbert Roos wrote:
>
> > Ingo Molnar wrote:
> >
> > > are you sure timer interrupts are processed while you are waiting for the
> > > timeout to expire? I'd suggest to put a:
> > >
> > > printk("<%d>", irq);
> > >
> > > into arch/i386/kernel/irq.c:do_IRQ().
> >
> > Until the call of interruptible_sleep_on_timeout(), timer interrupts
> > were processed. Right after the call no more output is made.
> >
> [SNIPPED...]
>
> wait_queue_head_t wait_thing;
>
> Interruptible_sleep_on_timeount(&wait_thing, timeout), now requires
> that "wait_thing" must have been initialized with:
>
> init_waitqueue_head(&wait_thing);
>
> If you didn't do this before this object was used, all bets are
> off.
>
> Also, you cannot sleep during an interrupt or when you are holding
> a spin-lock that disables interrupts.

Uh? I thought it was BAD BAD BAD form to sleep with ANY spinlocks held!

George
>
> > __asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */)
> >
> > (x ist the variable where the IRQ flags are stored)
> > I'm not familiar with x86 assembler; is it possible that something can
> > go wrong here?
>
> This is correct. The flags are pushed then popped into the
> variable provided.
>
> Cheers,
> Dick Johnson
>
> Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).
>
> I was going to compile a list of innovations that could be
> attributed to Microsoft. Once I realized that Ctrl-Alt-Del
> was handled in the BIOS, I found that there aren't any.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:15 EST