Re: Memory Problem in 2.4.10-pre2 / __alloc_pages failed

From: Stephan von Krawczynski (skraw@ithnet.com)
Date: Sat Sep 01 2001 - 13:28:23 EST


On Fri, 31 Aug 2001 21:03:22 +0200
Daniel Phillips <phillips@bonn-fries.net> wrote:

> > > /* XXX: is pages_min/4 a good amount to reserve for this? */
> > > + if (z->free_pages < z->pages_min / 3 && (gfp_mask & __GFP_WAIT) &&
> > > + !(current->flags & PF_MEMALLOC))
> > > + continue;
> > Hello Daniel,
> >
> > I tried this patch and it makes _no_ difference. Failures show up in same
> > situation and amount. Do you need traces? They look the same
>
> OK, first would you confirm that the frequency of 0 order failures has
> stayed the same?

Hello Daniel (and the rest),

I redid the test and have the following results, based on a 2.4.10-pre2 with
above patch:

meminfo before:

Sep 1 15:09:40 admin kernel: SysRq: Show Memory
Sep 1 15:09:40 admin kernel: Mem-info:
Sep 1 15:09:40 admin kernel: Free pages: 811288kB ( 0kB HighMem)
Sep 1 15:09:40 admin kernel: ( Active: 927, inactive_dirty: 9604,
inactive_clea
n: 0, free: 202822 (383 766 1149) )
Sep 1 15:09:40 admin kernel: 1*4kB 1*8kB 5*16kB 4*32kB 5*64kB 1*128kB 1*256kB
0
*512kB 1*1024kB 6*2048kB = 14236kB)
Sep 1 15:09:40 admin kernel: 1*4kB 1*8kB 1*16kB 141*32kB 57*64kB 31*128kB
10*25
6kB 4*512kB 0*1024kB 381*2048kB = 797052kB)
Sep 1 15:09:40 admin kernel: = 0kB)
Sep 1 15:09:40 admin kernel: Swap cache: add 0, delete 0, find 0/0
Sep 1 15:09:40 admin kernel: Free swap: 265032kB
Sep 1 15:09:40 admin kernel: 229376 pages of RAM
Sep 1 15:09:40 admin kernel: 0 pages of HIGHMEM
Sep 1 15:09:40 admin kernel: 4378 reserved pages
Sep 1 15:09:40 admin kernel: 22056 pages shared
Sep 1 15:09:40 admin kernel: 0 pages swap cached
Sep 1 15:09:40 admin kernel: 0 pages in page table cachSep 1 15:09:40 admin
kernel: Buffer memory: 6576kB
Sep 1 15:09:40 admin kernel: CLEAN: 1489 buffers, 5935 kbyte, 513 used
(las
t=1489), 0 locked, 0 protected, 0 dirty

        total: used: free: shared: buffers: cached:
Mem: 921726976 105066496 816660480 0 6733824 36917248
Swap: 271392768 0 271392768
MemTotal: 900124 kB
MemFree: 797520 kB
MemShared: 0 kB
Buffers: 6576 kB
Cached: 36052 kB
SwapCached: 0 kB
Active: 4076 kB
Inact_dirty: 38552 kB
Inact_clean: 0 kB
Inact_target: 296 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 900124 kB
LowFree: 797520 kB
SwapTotal: 265032 kB
SwapFree: 265032 kB

(meminfo may slightly differ from SYSREQ, an application (seti) started in
between)

The usual test was going on, in the end I had:

meminfo:

Sep 1 15:18:27 admin kernel: SysRq: Show Memory
Sep 1 15:18:27 admin kernel: Mem-info:
Sep 1 15:18:27 admin kernel: Free pages: 3056kB ( 0kB HighMem)
Sep 1 15:18:27 admin kernel: ( Active: 13965, inactive_dirty: 185778,
inactive_clean: 178, free: 764 (383 766 1149) )
Sep 1 15:18:27 admin kernel: 1*4kB 1*8kB 1*16kB 9*32kB 5*64kB 1*128kB 1*256kB
0*512kB 0*1024kB 0*2048kB = 1020kB)
Sep 1 15:18:27 admin kernel: 1*4kB 0*8kB 1*16kB 1*32kB 1*64kB 5*128kB 3*256kB
1*512kB 0*1024kB 0*2048kB = 2036kB)
Sep 1 15:18:27 admin kernel: = 0kB)
Sep 1 15:18:27 admin kernel: Swap cache: add 0, delete 0, find 0/0
Sep 1 15:18:27 admin kernel: Free swap: 265032kB
Sep 1 15:18:27 admin kernel: 229376 pages of RAM
Sep 1 15:18:27 admin kernel: 0 pages of HIGHMEM
Sep 1 15:18:27 admin kernel: 4378 reserved pages
Sep 1 15:18:27 admin kernel: 215286 pages shared
Sep 1 15:18:27 admin kernel: 0 pages swap cached
Sep 1 15:18:27 admin kernel: 0 pages in page table cache
Sep 1 15:18:27 admin kernel: Buffer memory: 15576kB
Sep 1 15:18:27 admin kernel: CLEAN: 178719 buffers, 714855 kbyte, 536 used
(last=178719), 0 locked, 0 protected, 0 dirty
Sep 1 15:18:27 admin kernel: DIRTY: 10060 buffers, 40240 kbyte, 0 used
(last=0), 0 locked, 0 protected, 10060 dirty
S
        total: used: free: shared: buffers: cached:
Mem: 921726976 918597632 3129344 0 15958016 802725888
Swap: 271392768 0 271392768
MemTotal: 900124 kB
MemFree: 3056 kB
MemShared: 0 kB
Buffers: 15584 kB
Cached: 783912 kB
SwapCached: 0 kB
Active: 55864 kB
Inact_dirty: 742948 kB
Inact_clean: 684 kB
Inact_target: 8188 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 900124 kB
LowFree: 3056 kB
SwapTotal: 265032 kB
SwapFree: 265032 kB

And the traces:
83 mostly identical errors showed up, all looking like

Sep 1 15:17:53 admin kernel: cdda2wav: __alloc_pages: 3-order allocation
failed (gfp=0x20/0).
Sep 1 15:17:53 admin kernel: Call Trace: [_alloc_pages+22/24]
[__get_free_pages+10/28] [<fdcf8826>] [<fdcf88f5>] [<fdcf77d7>]
Sep 1 15:17:53 admin kernel: [<fdcf80f5>] [<fdcf6589>] [_alloc_pages+22/24]
[__get_free_pages+10/28] [<fdcf8826>] [<fdcf88f5>]
Sep 1 15:17:53 admin kernel: [<fdcf76bd>] [filemap_nopage+171/1008]
[do_no_page+90/244] [handle_mm_fault+97/192] [<fdcf54aa>]
[do_page_fault+0/1164]
Sep 1 15:17:53 admin kernel: [dentry_open+189/316] [filp_open+82/92]
[do_fcntl+370/712] [sys_ioctl+443/532] [system_call+51/56]

Trace; fdcf80f5 <[sg]sg_build_reserve+25/48>
Trace; fdcf6589 <[sg]sg_ioctl+6c5/ae4>
Trace; fdcf76bd <[sg]sg_build_indi+55/1a8>

So, there are no 0-order allocs failing in this setup.

Are you content with having no 0-order failures?

I will try to simplify the test to a case that anybody can check out more
easily.
Stay tuned.

Regards,
Stephan

-
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 : Fri Sep 07 2001 - 21:00:12 EST