Date: Fri, 30 May 2008 18:00:53 +0100 From: "Bruce M. Simpson" <bms@FreeBSD.org> To: rihad <rihad@mail.ru> Cc: freebsd-net@freebsd.org Subject: Re: if_var.h micro-optimization Message-ID: <484032C5.3090601@FreeBSD.org> In-Reply-To: <484024A5.6080109@mail.ru> References: <483FFE36.7050006@mail.ru> <4840200F.6070602@FreeBSD.org> <484024A5.6080109@mail.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
rihad wrote: > Bruce M. Simpson wrote: >> >> It could save dirtying an L2 data cache line at the expense of taking >> a conditional branch, > Whoa, why don't you take it easy on me :) I'm not that much into > kernel (or hardware) programming. It's just that reading Ch. 3 of > TCP/IP Illustrated Vol.2 by Rich Stevens got me digging around FreeBSD > source code dealing with struct ifnet, where this piece of code caught > my attention. It could be red, it could be yellow. It could be 620nm. Who am I to say what is and what isn't? ;-) There are bound to be situations where the change is a win, and even some where there isn't. Context is everything... >> but to evaluate your suggested change requires a lot more data. Do >> you plan to do this? > Perhaps there is already a framework for trying out changes in > -CURRENT and seeing their relative impact, so perhaps someone more > experienced than I am can see to this? All educators are busy right now, please hold and the next available dogma merchant will be with you as soon as possible. ;-) (Hint: No, there isn't a framework I know of, unless you wanna make one? Scientific process applies, reproducible results, etc. You could script stuff, figure out a way to run the kernel or parts of the network stack under Valgrind so it can be L2 profiled w/o running it on a real machine... or hack hwpmc so it can be done live.. anything is possible.) > >> Given how _IF_DEQUEUE() is normally used the impact is likely >> negligible. > Oh, I see. A nice first attempt of mine anyway ;) Thanks. Don't take my word for it, down that road lies darkness. Seriously though -- it's easy to introduce bugs doing things like this, if anything else it's an exercise in really thinking things through. cheers BMS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?484032C5.3090601>