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

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to