Re: [Patch] Polling on more than 16000 file descriptors

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Tue Jan 18 2000 - 12:18:29 EST


Alan Cox wrote:
>
> 128K kmallocs often fail. Probably something like a 32K kmalloc limit
> with vmalloc if the kmalloc fails or >32K ?
>
What about modifying vmalloc():

* vmalloc() first tries to kmalloc()/gfp() the memory, only if that
fails it uses the current, get_vm_area() based implementation.
* vmalloc() uses a rwlock, ie we get rid of theses lock_kernel() calls
around vmalloc().

Advantages:
* most modules are quite small, we would map them with 4 MB page table
entries, less TLB trashing during interrupts.
* both ipc_alloc() and alloc_fd_array() already implement this
"fast_vmalloc()" code - if we add that to vmalloc(), we avoid code
duplication.

Disadvantage:
* kmalloc(32769) allocates 64kB, vmalloc(32769) allocates 36kB

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 21:00:18 EST