cvs commit: src/sys/netinet tcp_var.h

John Baldwin jhb at freebsd.org
Mon Jun 19 14:12:48 UTC 2006


On Sunday 18 June 2006 09:19, Andre Oppermann wrote:
> Bjoern A. Zeeb wrote:
> > On Sun, 18 Jun 2006, Sam Leffler wrote:
> > 
> >> Andre Oppermann wrote:
> >>> andre       2006-06-17 17:57:36 UTC
> >>>
> >>>   FreeBSD src repository
> >>>
> >>>   Modified files:
> >>>     sys/netinet          tcp_var.h
> >>>   Log:
> >>>   Rearrange fields in struct syncache and syncache_head to make them 
> >>> more
> >>>   cache line friendly.
> >>
> >> Got any benchmarks to back this up?  Or perhaps it was just the smiley
> >> face your cache lines gave you :)
> 
> The entry chains are traversed quite often and the first thing looked
> at is in_conninfo and then sc_rxttime and sc_rxmits.  So it makes a
> lot of sense to have them close together on the same cache line aligned
> to the beginning of the struct and to the native alignment of the
> architecture.  I did not benchmark it but it is simple reasoning.

I was talking with Alan Cox at USENIX ATC about working on SMP, and one
of the comments he made about doing SMP stuff in the kernel in that what 
you would intuitively think would be faster doesn't always end up that
way in practice.  In fact, it sometimes ends up being the opposite of
what is intuitive.  I agree that you should really benchmark things and
not just assume they will make performance better.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list