Venkatesh Srinivas me at endeavour.zapto.org
Fri Feb 18 11:17:26 PST 2011

On Fri, Feb 18, 2011 at 1:00 PM, Saman Barghi <saman.b at gmail.com> wrote:

It would be great if you had the SMP results as well. Anyway, I think you would love this: http://www.cs.uwaterloo.ca/~sbarghi/bench/transactions1.jpg 

(keep in mind that this is a quad core xenon with 2 GB of RAM, and FreeBSD is in SMP mode)Could you try -master? There has been fairly substantial work since the 2.8 release; all of the tokens in 2.8 are still taking the MP lock as a precaution. That is no longer the case in master. The process token has been broken up fairly dramatically in master as well, so I expect to see different results.

Can you give us a bit more information about the h/w and configuration? In Kris Kennaway's tests, he was seeing FreeBSD 7 sustain 8 times the number of transactions you're reporting for 8.1, and that was for hardware that is three or four years old at this point. Also, last I tried sysbench/OLTP with MySQL on dfly, I saw MySQL making many 256K allocations, which fall back to mmap() in our system. mmap() acquires the VM token, so I expected to see a much more dramatic falloff than you saw.

I guess I wasn't clear earlier, the results on my graph were SMP; the UP lines were not present; the results were from very early in the 2.8 cycle, but I don't have the exact rev handy. 

As I said before; I kept the environment the the same as what has been mentioned here: http://people.freebsd.org/~kris/scaling/dfly.html . I even used the same version of MySQL (5.0) although MySQL  5.5 shows better scaling behaviour.(http://mikaelronstrom.blogspot.com/2010/04/mysql-554-m3-scales-to-32-cores.html). IMHO if "The multiprocessor work that has been ongoing in DragonFly is really starting to bear fruit", the fruits are indeed juicy and sweet.  It would be lovely to see the results on a machine with more cores though. 

Btw, is there any changelog that shows what has been changed about tokens !?  Yes -- http://gitweb.dragonflybsd.org/dragonfly.git/commit/2a4189307741dbcfbe11b31d6cc51a4fb39a8cde

was the commit that reworked the token contention path.This was not in 2.8, but is in master. Matt has seen improvements from in on a 48-core system he runs; I don't know that we've seen great things from it on smaller systems 

http://gitweb.dragonflybsd.org/dragonfly.git/commit/3b998fa96afe52828957ea4f65d15320eb0fe240was the other one in particular I was referencing; that one produced a fairly noticeable bump in apache performance, among other things...

-- vs

More information about the Kernel mailing list