Linux-kernel mailing list archive 1999-23,: Re: 2.2.9-ac2 locks solid

# Re: 2.2.9-ac2 locks solid

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Mon, 7 Jun 1999 12:13:46 +0200 (CEST)

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- Previous message: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- In reply to: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- Next in thread: George: "Re: 2.2.9-ac2 locks solid"

On Mon, 7 Jun 1999, Alan Cox wrote:

> > >>EIP: c0196b87 <stext_lock+f67/3e60>
> > Trace: c0127e37 <try_to_free_pages+33/44>
> > Trace: c0128683 <__get_free_pages+6b/1d0>
> > Trace: c010b183 <handle_IRQ_event+5f/94>
> > Trace: c0126818 <kmem_cache_grow+114/3b8>
> > Trace: c0113c63 <do_edge_ioapic_IRQ+7f/b0>
> > Trace: c0126c1a <kmem_cache_alloc+fa/170>
> > Trace: c01156a0 <send_sig_info+1c0/2f8>
> > Trace: c0115a8e <kill_something_info+10a/11c>

> Unfortunately I can't see how handle_IRQ_event ever directly called
> __get_free_pages. So I don't think the IRQ part of the trace is valid.

it's just 'dirt on the stack' probably.

> The rest however is rather obvious 8) _iff_ you are using rt signals.
>
> kernel/signal.c: send_sig_info uses GFP_KERNEL from a bh.
>
> Change
>
> struct signal_queue *q = 0;
>
> if (nr_queued_signals < max_queued_signals) {
> q = (struct signal_queue *)
> kmem_cache_alloc(signal_queue_cachep, GFP_KERNEL);
> }
>
> to use GFP_ATOMIC instead and let me know

this might as well explain the 'stuck on TLB IPI wait' bugs?

-- mingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

- Next message: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- Previous message: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- In reply to: Alan Cox: "Re: 2.2.9-ac2 locks solid"
- Next in thread: George: "Re: 2.2.9-ac2 locks solid"