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
