[OpenAFS-devel] How can the mem cache possibly not be able to allocate memory?

Derek Atkins warlord@MIT.EDU
Thu, 08 Apr 2004 09:35:08 -0400


"chas williams (contractor)" <chas@cmf.nrl.navy.mil> writes:

> well the linux kernel could be placing a limit on memory.  i would have
> to guess that afs_osi_Alloc(memCacheBlkSize) is going to 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.

I haven't looked at a recent implementation, but my original
implementation would try kmalloc() and then fall back to vmalloc() if
the former failed.  I suspect Transarc kept a similar implementation
but I honestly haven't looked.

> perhaps memcache should be implemented to have it own kmem_cache.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available