Hi! On 21:16 Fri 09 Sep , Zheng Da wrote: > Hello, > > I need to allocate fairly a large piece of memory, about 128KB or > 256KB. I tried to use kmalloc, and it sometimes fails, but vmalloc in > this case usually still work. > But I'm not sure how costly vmalloc is. As far as I know, vmalloc > needs to change the page table, and thus might need to invalidate TLB. > It seems quite expensive. If it is, maybe I can allocate memory with > kmalloc first, and then try to use vmalloc if kmalloc fails. Any > suggestions? If it is at all possible, I would suggest avoiding to allocate more than PAGE_SIZE (usually 4KB) in one continuous chunk. You can use e.g. scatterlists (which are basically lists of pointers) if you need a bigger buffer. -Michi -- programing a layer 3+4 network protocol for mesh networks see http://michaelblizek.twilightparadox.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies