[OpenAFS-devel] How can the mem cache possibly not be able to allocate memory?
Neulinger, Nathan
nneul@umr.edu
Mon, 12 Apr 2004 11:01:59 -0500
AFS osi_alloc appears to be thresholding at MAX_KMALLOC_SIZE. If <=3D, =
it
uses kmalloc, otherwise vmalloc. MAX_KMALLOC_SIZE is set to PAGE_SIZE.
-- Nathan
------------------------------------------------------------
Nathan Neulinger EMail: nneul@umr.edu
University of Missouri - Rolla Phone: (573) 341-6679
UMR Information Technology Fax: (573) 341-4216
=20
> -----Original Message-----
> From: chas williams (contractor) [mailto:chas@cmf.nrl.navy.mil]=20
> Sent: Wednesday, April 07, 2004 10:01 PM
> To: Neulinger, Nathan
> Cc: openafs-devel@openafs.org
> Subject: Re: [OpenAFS-devel] How can the mem cache possibly=20
> not be able to allocate memory?=20
>=20
> In message <20040408014851.GA10203@umr.edu>,Nathan Neulinger writes:
> >Apr 7 13:27:51 nic1 kernel: Memory: 4008596k/4194304k=20
> available (2244k
> >kernel code, 53668k reserved, 1432k data, 168k init,=20
> 3145152k highmem)
> >
> >That just plain doesn't make any sense... I tried to give it a 75MB
> >memcache... Is there something with how afs is trying to=20
> allocate kernel
> >memory that would limit what it could use?=20
>=20
> well the linux kernel could be placing a limit on memory. i=20
> would have
> to guess that afs_osi_Alloc(memCacheBlkSize) is going to=20
> using kmalloc()
> instead of vmalloc(). kmalloc() gets its buffer from various pools
> viewable from /proc/slabinfo (in particular the size-NNNN pools). it
> seems like you might be hitting a limit on the number of buffers.
>=20
> perhaps memcache should be implemented to have it own kmem_cache.
>=20
>=20