Samba 2.0.7 slowdown on Solaris 2.6 with gigantic /dev tree

David Collier-Brown davecb at canada.sun.com
Mon Jan 29 13:16:03 GMT 2001


Bernhard Sadlowski wrote:
| I've used gcc 2.8.1 and installed Samba 2.0.7 on a Solaris 2.6
machine.
| At start of smbd I notices a huge slowdown: about 5 minutes for each
new
| login!
	
	Erk! we shouldn't do this for every login!
	And we arguably should have a limit on the
	number of nodes scanned, anyway.

	The code in uint32 do_reseed says:
 We use /dev/urandom as a read of /dev/random can block if
 the entropy pool dries up. This leads clients to timeout
 or be very slow on connect.

	I'd suggest adding an integer counter and a 
	limit to do_dirrand: in place of 
		while ((p = readdirname(dp)))
	just put in
		for  (i=0; p = readdirname(dp) && i < XXX; i++) 

	A side comment: the size of items in a Solaris /dev
	clusters around 25 characters, and so isn't a really
	good source of randomness.

--dave
-- 
David Collier-Brown,           | Always do right. This will gratify 
Performance & Engineering Team | some people and astonish the rest.
Americas Customer Engineering  |                      -- Mark Twain
(905) 415-2849                 | davecb at canada.sun.com




More information about the samba mailing list