cvs commit: src/sys/sys eventhandler.h src/sys/kern kern_descrip.c uipc_socket.c

Maxim Sobolev sobomax at FreeBSD.org
Sun Mar 16 21:01:47 PDT 2008


Robert Watson wrote:
> On Sun, 16 Mar 2008, Maxim Sobolev wrote:
> 
>> sobomax     2008-03-16 06:21:30 UTC
>>
>>  FreeBSD src repository
>>
>>  Modified files:
>>    sys/sys              eventhandler.h
>>    sys/kern             kern_descrip.c uipc_socket.c
>>  Log:
>>  Properly set size of the file_zone to match kern.maxfiles parameter.
>>  Otherwise the parameter is no-op, since zone by default limits number
>>  of descriptors to some 12K entries. Attempt to allocate more ends up
>>  sleeping on zonelimit.
> 
> Hmm.  Could you be more specific about the nature of the problem you're 
> seeing here?  UMA shouldn't impose any default zone limit on the 
> file_zone if none is set.  Are you sure it's the struct file zonelimit 
> you're running into, and not, say, the socket zone limit, etc?

Yes, you are right, further investigation revealed that in my case I was 
hitting maxsockets limit, not maxfiles limit. Not sure if the backout is 
in order or having files zone limit has some value, so that possible 
leaks can be detected and UMA zone can potentially do size-based 
optimizations in the future?

> Also, don't use SI_SUB_EVENTHANDLER+1 -- add a new event type, perhaps 
> SI_SUB_FILE, or use SI_ORDER_LAST.

OK, what about maxsockets code? Should it be changed to?

-Maxim


More information about the cvs-all mailing list