From: Nick Piggin <nickpiggin@yahoo.com.au>
To: emin ak <eminak71@gmail.com>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: 2.6.16-rt10 crash on ppc
Date: Tue, 28 Mar 2006 12:21:55 +1100 [thread overview]
Message-ID: <44288FB3.5030208@yahoo.com.au> (raw)
In-Reply-To: <2cf1ee820603271231l69187925j3150098097c7ca15@mail.gmail.com>
emin ak wrote:
>Dear all,
>Today I have tried Ingo Molnar's patch-2.6.16-rt10 on a ppc (PQ3 MPC8540ADS)
>For testing purpose I have enabled packet routing and send ethernet
>packets over the system with a network test equipment. under light
>load on ethernet, the system is working fine, but under heavy load,
>firstly console freezes, then the message below prints on the console
>again and again. The system without patch is working fine on light or
>heavy loads. What can be the problem, is there a bug or am i doing
>something wrong?
>Thanks alot..
>here is the console output
>--------------------------console output-----
>softirq-net-rx/: page allocation failure. order:0, mode:0x20
>Call Trace:
>[C04E3DB0] [C000A60C] show_stack+0x50/0x188 (unreliable)
>[C04E3DE0] [C004C3EC] __alloc_pages+0x1c8/0x2a4
>[C04E3E30] [C0063C90] cache_alloc_refill+0x35c/0x57c
>[C04E3E80] [C0063FA4] __kmalloc+0xf4/0xfc
>[C04E3EB0] [C012D460] __alloc_skb+0x58/0x118
>[C04E3ED0] [C011AF20] gfar_new_skb+0x40/0xd4
>[C04E3EF0] [C011D320] gfar_clean_rx_ring+0x25c/0x634
>[C04E3F30] [C011D72C] gfar_poll+0x34/0x140
>[C04E3F50] [C013364C] net_rx_action+0x94/0x188
>[C04E3F80] [C0026730] ksoftirqd+0x104/0x1b4
>[C04E3FC0] [C003779C] kthread+0xf8/0x100
>[C04E3FF0] [C0004DB8] kernel_thread+0x44/0x60
>Mem-info:
>DMA per-cpu:
>cpu 0 hot: high 90, batch 15 used:0
>cpu 0 cold: high 30, batch 7 used:0
>DMA32 per-cpu: empty
>Normal per-cpu: empty
>HighMem per-cpu: empty
>Free pages: 768kB (0kB HighMem)
>Active:1650 inactive:2036 dirty:0 writeback:0 unstable:0 free:192
>slab:60106 mapped:764 pagetables:29
>DMA free:768kB min:2048kB low:2560kB high:3072kB active:6600kB
>inactive:8144kB present:262144kB pages_scanned:0 all_unreclaimab
>le? no
>lowmem_reserve[]: 0 0 0 0
>
You have plenty of memory that should be reclaimable (active+inactive,
though
some may be mlocked or otherwise unreclaimable).
What it looks like is that the page reclaim is not able to take place,
because
all your allocations are coming from interrupt context.
Normally what will happen is that kswapd will be woken up, and ksoftirqd
will
start throttling (soft) interrupts and kswapd will be allowed to get a
chance
to run. With the -rt kernel, I guess if your network irq has a higher
priority
than kswapd, it could prevent it from running completely. (I could be wrong
here).
You might try increasing /proc/sys/vm/min_free_kbytes, or failing that,
increase
the priority of kswapd to something comparable to or greater than your
network
interrupt.
I'm not very familiar with the -rt tree, but possibly what should be
happening,
if interrupts are executed in process context and allowed to schedule,
is that
their memory allocations should also be allowed to reclaim memory.
OTOH, I guess for a deterministic realtime system, you need to allocate
fixed
minimum amounts of memory for each element of the system so you never
run out
like this.
--
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-03-28 1:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-27 14:56 2.6.16-rt10 crash on ppc emin ak
2006-03-27 17:11 ` emin ak
2006-03-27 20:31 ` emin ak
2006-03-28 1:21 ` Nick Piggin [this message]
2006-03-29 15:08 ` Ingo Molnar
2006-03-30 2:55 ` Nick Piggin
2006-03-30 7:13 ` Ingo Molnar
2006-03-30 7:18 ` Kumar Gala
2006-03-30 7:23 ` Ingo Molnar
2006-03-30 10:25 ` emin ak
2006-03-30 11:34 ` Ingo Molnar
2006-03-30 14:55 ` emin ak
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=44288FB3.5030208@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=eminak71@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox