lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 13 Mar 2007 13:24:07 +0300
From:	Evgeniy Polyakov <johnpol@....mipt.ru>
To:	Eric Dumazet <dada1@...mosbay.com>
Cc:	akepner@....com, linux@...izon.com, davem@...emloft.net,
	netdev@...r.kernel.org
Subject: Re: Extensible hashing and RCU

On Tue, Mar 13, 2007 at 11:08:27AM +0100, Eric Dumazet (dada1@...mosbay.com) wrote:
> On Tuesday 13 March 2007 10:32, Evgeniy Polyakov wrote:
> > On Fri, Mar 02, 2007 at 11:52:47AM +0300, Evgeniy Polyakov 
> (johnpol@....mipt.ru) wrote:
> > So, I ask network developers about testing environment for socket lookup
> > benchmarking. What would be the best test case to determine performance
> > of the lookup algo? Is it enough to replace algo and locking and create
> > say one million of connections and try to run trivial web server (that
> > is what I'm going to test if there will not be any better suggestion,
> > but I only have single-core athlon 64 with 1gb of ram as a test bed and
> > two core duo machines as generators, probably I can use one of them as a
> > test machine too. They have gigabit adapters and aree connected over
> > gigabit switch)?
> 
> One million concurrent sockets on your machines will be tricky :)
> 
> $ egrep "(filp|dent|^TCP|sock_inode_cache)" /proc/slabinfo |cut -c1-40
> TCP                   12     14   1152  
> sock_inode_cache     423    430    384  
> dentry_cache       36996  47850    132  
> filp                4081   4680    192  
> 
> that means at the minimum 1860 bytes of LOWMEM per tcp socket on 32bit kernel, 
> (2512 bytes on a 64bit kernel)
> 
> I had one bench program but apparently I lost it :(
> It was able to open long lived sockets, (one million if enough memory), and 
> was generating kind of random trafic on all sockets. damned.
> The 'server' side had to listen to many (>16) ports because of the 65536 
> limit.

Yep, I was too optimistic about my hardware - getting size of the tcp
socket it is impossible to even create such amount of them with 1 or 2 gb of
ram.

Well, I can run additional tests in userspace (ideally with hugetlb support, 
but given that both socket hash table and my algo use essentially the same
amount of ram it should not matter) with more precise analysis...

And just send a patch with detailed description.

-- 
	Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists