[lkml]   [1997]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: >256 fd patch...
On Wed, 26 Mar 1997, James L. McGill wrote:

> >> Do you see a lot of "Couldn't get a free page" and "Out of Memory" with this?
> >I am getting a lot of "cannot fork" messages and:
> I fear this issue is now going to vanish back into the black hole.
> Thanks for working on it Oskar. I don't see anything in select.c
> that would lead to this, but then, I'm no mechanic.

My guess is that the patches that do a kmalloc for nearly all selects are
allocating large amounts of RAM that will never be used. I'm using
Michael O'Reilly's patch on my IRC server and SMP test box, and on the IRC
server, the ircd does _LOTS_ of select all with the full number of fd's
it's compiled to use (1000 in our case). I don't know enough to know if
it has a good reason for this, or if the ircd code is brain damaged.

From what I can gather reading the kernel patch, O'Reilly's patch
allocates a chunk of memory based on the size of NR_OPEN no matter how
many fd's select was given. I suppose this is required for the
caching...but what would happen if the caching was thrown out, and the
memory allocations were based on the n in "sys_select(int n..." rather
than NR_OPEN?...or if n is some small number, allocate the memory the old
way from the stack rather than kmalloc?

Is the solution to the frequent "Couldn't get a free page" problem a
modification to the kernel patches or a tidying up of code in such things
as the ircd?

Jon Lewis <> | Unsolicited commercial e-mail will
Network Administrator | be proof-read for $199/hr.
________Finger for PGP public key_______

 \ /
  Last update: 2005-03-22 13:39    [W:0.043 / U:12.392 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site