Date: Sun, 7 Jul 2002 01:37:10 -0700 From: Alfred Perlstein <bright@mu.org> To: net@freebsd.org Subject: the incredible shrinking socket Message-ID: <20020707083710.GM97638@elvis.mu.org>
next in thread | raw e-mail | index | archive | help
Some time ago I noticed that there appeared to be several members of struct socket that were either only used by listen sockets or only used by data sockets. I've taken a stab at unionizing the members and we wind up saving 28 bytes per socket on i386, and probably nearly double that on any 64 bit platform. That's ~15%, which isn't too shabby. The problem is that besideds making things a tad ugly, I haven't gotten it completely working yet. I seem to have some sort of bug with rendevous listening sockets, telnetd can accept a connection, however then the cpu goes to 100%, sshd drops my connection right after authorizing me. Most of the problem is because now that it's unionized, it's hard to make sure someone isn't clobbering the data as some functions expect _all_ fields to be there. Anyhow, if anyone wanted to take a look, the patch is here: http://people.freebsd.org/~alfred/deltas/sockunion.diff.gz -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020707083710.GM97638>