Currently, whenever maxsockets is increased, this causes kernel memory to be preallocated for each type of pcb (tcp, udp, raw, divert). The number of pcbs preallocated for each of these is always the same as maxsockets.
This is probably a waste of memory for raw sockets and divert sockets, since they would not normally be used in large numbers. A large server could save kvm by reducing the number of divert and raw pcbs preallocated. For example, on a machine configured for 200,000 maxsockets we would save 75MB of kvm out of a total of 262MB that would have been preallocated. This kvm savings can be used to increase maxsockets even more. Is there any reason I should not modify the kernel code to only let a small, fixed number of raw and divert pcbs be preallocated instead of having them scale with maxsockets? Next, does this seem like a generally useful thing that could be rolled back into the source tree? I could make this a kernel option or a tunable sysctl variable. thanks Scot Loach _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"