Re: [PATCH] Fix large allocation in nfsd init

From: Neil Brown
Date: Wed Jan 26 2005 - 23:04:23 EST


On Thursday January 27, anton@xxxxxxxxx wrote:
>
> Hi,
>
> I just added an NFS mount to a ppc64 box that had been up for a while.
> This required inserting the nfsd module. Unfortunately it failed:
>
> modprobe: page allocation failure. order:5, mode:0xd0
> Trace:
> [c0000000000ba0f8] alloc_pages_current+0xc0/0xe4
> [c0000000000941fc] __get_free_pages+0x54/0x1e0
> [d00000000046f7d8] nfsd_cache_init+0x54/0x1a4 [nfsd]
> [d0000000004782cc] init_nfsd+0x30/0x2564 [nfsd]
> [c000000000084bec] sys_init_module+0x23c/0x5ac
> [c00000000001045c] ret_from_syscall_1+0x0/0xa4
> nfsd: cannot allocate 98304 bytes for reply cache
>
> An order 5 allocation. Replace it with a vmalloc.

Given that the purpose of this order-5 allocation is to provide
storage for 1024 "struct svc_cacherep" structs, it would seem that a
better approach would be to just do 1024 kmallocs.

I'll try to knock a patch together in next week sometime.

Thanks,

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