In message <[EMAIL PROTECTED]>,"Neuling
er, Nathan" writes:
>Interesting, I was reading that vmalloc should almost NEVER be used,
>since it forces the kernel to do page table operations that don't have
>to be done with kmalloc, and that the shortcoming of kmalloc is that it
>cannot do _large_ contiguous allocations. Supposedly vmalloc is not very
>smp friendly, and cannot be used in an interrupt as well.

this is why we use kmalloc() for smaller sizes.  i know there is
a potential to page but its also a bad idea to lock down lots of 
128k slab's.  afs does this atleast twice, for the static inode
cache and the static dcache if you use kmalloc().  at one point
i had tracked down the large initializations.  i can probably do
this again and try to fix these things the right way.  typically
afs is only getting huge chunks of memory to be 'efficient' however
the kmem_cache() stuff in linux would probably be a better choice
for the inode table and the small/large memory allocators since
you could get 'better' alignment for the memory regions coming out
of these pools.
_______________________________________________
OpenAFS-devel mailing list
[EMAIL PROTECTED]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to