Messages in this thread |  | | Subject | Increasing limits in kernel | Date | Fri, 03 Jan 1997 10:44:50 +0800 | From | Kevin Littlejohn <> |
| |
This seems to be a big one, and I'm hoping there'll be some movement on a permanent increase to the limits in the distributed kernel, but I'm betting it won't happen in a 2.0.x kernel *shrug*. In the meantime, I have a few questions coming from previous messages:
The changes we have made, inside the kernel, are as follows:
include/linux/net_alias.h - line 28, NET_ALIAS_MAX_SLOT = 512 include/linux/fs.h - line 30, NR_OPEN = 1024 include/linux/fs.h - line 39, NR_INODE = 8192 include/linux/fs.h - line 40, NR_FILE = 4096 include/linux/limits.h - line 4, NR_OPEN = 1024 include/linux/limits.h - line 9, OPEN_MAX = 1024
My understanding here is that increasing NET_ALIAS_MAX_SLOT increases the number of aliases I can have on a single interface (seems a relatively easy patch), NR_OPEN seems to be defined in several places, and is the numbr of file descriptors a single process can hold open, OPEN_MAX is also llisted as "number of files a process can hold open", so I'm not sure what the difference is here, NR_FILE and NR_INODE are presumably filesystem (as opposed to network) related, although I had thought the difference was marginal. Anyone who can fill me in on those?
In addition, I see a diff go through this list the other day, purporting to raise the limits to 2048 (which is described as a "bad thing"(tm) by others, who say (g)libc has a 1024-based limit to NR_OPEN built into it anyway - knowing where/how to change that could be worthwhile, if it's not going to break other things badly. Said diff also contained:
a patch to include/asm-i386/resource.h that set INIT_NR_OPEN to be the max of NR_OPEN and 256, but I can't see _any_ other reference to INIT_NR_OPEN in the kernel off-hand, so I'm curious what this achieves
a higher NGROUPS_MAX - this looks like another little tweak, presumably it doesn't break anything too drastically?
an OPEN_MAX twice as high as NR_OPEN - how? What's the difference between these two defines?
changes to posix_types.h - __FD_SETSIZE increased to 2048 (which is NR_OPEN in this patch), and changes to /usr/include/gnu/types.h - same change. This one would appear to be a change to libc, in a sidewise sort of way, and looks to be the most likely candidate for breaking things. Can someone give an explanation of exactly what this does, and what repurcusions it's likely to have?
Basically, it seems like there's very little documentation for these changes. I'd like to be able to help out here, but I'm a little in the dark myself :( If anyone can answer even some of the questions above, I'd love to put together a web page or mini-FAQ explaining it all :)
KevinL --- Kevin Littlejohn darius@wantree.com.au Wantree Development tel: 481 4433 Perth, Western Australia 6000 fax: 481 0393 "Hours of frustration punctuated by moments of sheer terror" - a.s.r.
|  |