From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Doug Dumitru <doug@easyco.com>
Cc: linux-kernel@vger.kernel.org, cramerj@intel.com,
john.ronciak@intel.com, Ganesh.Venkatesan@intel.com,
jgarzik@pobox.com
Subject: Re: Hard Hang with __alloc_pages: 0-order allocation failed (gfp=0x20/1) - Not out of memory
Date: Tue, 25 May 2004 16:02:51 -0300 [thread overview]
Message-ID: <20040525190251.GB4377@logos.cnet> (raw)
In-Reply-To: <40B16736.6090303@easyco.com>
On Sun, May 23, 2004 at 08:08:38PM -0700, Doug Dumitru wrote:
> I pulled some more information (if I did it correctly) from the first stack
> dump from the first __alloc_pages error log.
>
> ksymoops 2.4.4 on i686 2.4.25. Options used
> -V (default)
> -k ksyms.5 (specified)
> -l /proc/modules (default)
> -o /lib/modules/2.4.26/ (specified)
> -m /boot/System.map-2.4.26 (specified)
>
> Warning (expand_objects): object
> /lib/modules/2.4.26/kernel/drivers/md/lvm-mod.o for module lvm-mod has
> changed since load
> Warning (expand_objects): object /lib/modules/2.4.26/kernel/drivers/md/md.o
> for module md has changed since load
> cc68bad8 c0135289 00000000 011410ac 00000001 0000000c c03689dc 0000
> cbccb780 cbccb780 c02d23ba c7c5b838
> Call Trace: [<c0135289>] [<c01352b0>] [<c0132214>] [<c02d23ba>]
> [<c01327f1>]
> [<c029923f>] [<c01f0d3c>] [<c01f0c52>] [<c0121786>] [<c01219d9>]
> [<c01f05ec>]
> [<c010a4de>] [<c010a6f4>] [<c0133ce6>] [<c0134152>] [<c01341fc>]
> [<c0134271>]
> [<c0134dff>] [<c0135169>] [<c01352b0>] [<c014c203>] [<c02b765e>]
> [<c029634f>]
> [<c014c467>] [<c014c8e9>] [<c010a72d>] [<c0108b63>]
> Warning (Oops_read): Code line not seen, dumping what data is available
>
> Trace; c0135289 <__alloc_pages+2d9/2f0>
> Trace; c01352b0 <__get_free_pages+10/20>
> Trace; c0132214 <kmem_cache_grow+c4/250>
> Trace; c02d23ba <arp_process+48a/4a0>
> Trace; c01327f1 <kmalloc+151/180>
> Trace; c029923f <alloc_skb+ef/1c0>
> Trace; c01f0d3c <e1000_alloc_rx_buffers+dc/110>
> Trace; c01f0c52 <e1000_clean_rx_irq+402/410>
> Trace; c0121786 <update_wall_time+16/50>
> Trace; c01219d9 <timer_bh+39/3f0>
> Trace; c01f05ec <e1000_intr+8c/e0>
> Trace; c010a4de <handle_IRQ_event+5e/90>
> Trace; c010a6f4 <do_IRQ+a4/f0>
> Trace; c0133ce6 <shrink_cache+a6/420>
> Trace; c0134152 <refill_inactive+f2/160>
> Trace; c01341fc <shrink_caches+3c/50>
> Trace; c0134271 <try_to_free_pages_zone+61/e0>
> Trace; c0134dff <balance_classzone+4f/200>
> Trace; c0135169 <__alloc_pages+1b9/2f0>
> Trace; c01352b0 <__get_free_pages+10/20>
> Trace; c014c203 <__pollwait+33/90>
> Trace; c02b765e <tcp_poll+2e/150>
> Trace; c029634f <sock_poll+1f/30>
> Trace; c014c467 <do_select+127/240>
> Trace; c014c8e9 <sys_select+339/480>
> Trace; c010a72d <do_IRQ+dd/f0>
> Trace; c0108b63 <system_call+33/38>
>
>
> If I am reading this correctly, the system was ...
>
> in an interrupt
> processing some TCP select(...) stuff
> asking for a page
> doing a zone rebalance
> trying to shrink cache
> and interrupted again
> by the ethernet driver
> which wanted to allocate an skb
> which wanted a page
>
> Thus __alloc_pages appears to be called recursively, with the 2nd call
> during a rebalance in the first one and both calls non-interuptable (on
> interrupts). Is this allowable?
Nope, this is not allowed.
It seems we are calling alloc_skb(GFP_KERNEL) from
inside an interrupt handler. Oops.
e1000 maintainers, can you look at this please?
next prev parent reply other threads:[~2004-05-25 19:01 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-24 3:08 Hard Hang with __alloc_pages: 0-order allocation failed (gfp=0x20/1) - Not out of memory Doug Dumitru
2004-05-25 19:02 ` Marcelo Tosatti [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-05-26 1:22 (Found?) " Roger Larsson
2004-05-26 19:58 ` Roger Larsson
2004-05-25 22:26 Doug Dumitru
2004-05-25 23:12 ` David S. Miller
2004-05-26 12:59 ` Marcelo Tosatti
2004-05-26 18:59 ` Doug Dumitru
2004-05-25 22:17 Doug Dumitru
2004-05-25 21:20 Feldman, Scott
2004-05-25 21:47 ` David S. Miller
2004-05-25 22:53 ` Marcelo Tosatti
2004-05-25 23:39 ` Marcelo Tosatti
2004-05-25 22:53 ` Marcelo Tosatti
2004-05-23 21:54 Doug Dumitru
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040525190251.GB4377@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=Ganesh.Venkatesan@intel.com \
--cc=cramerj@intel.com \
--cc=doug@easyco.com \
--cc=jgarzik@pobox.com \
--cc=john.ronciak@intel.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.