We could add this as a part of the fastforwarding code and for a router turn it on and for a server leave it off. When I use a FBSD box for a router, it doesn't do anything else, so there could be two optimized paths that is one for routing/forwarding/firewalling only
and one for use as a server.

Artem Belevich wrote:
 Prefetching when you are waiting for the data isn't a help.

Agreed. Got to start prefetch around <put your memory latency here>ns
before you actually need the data and move on doing other things that
do not depend on the data you've just started prefetching.

 what you need is a speculative prefetch where you an tell teh processor "We
will probably need the following address so start getting it while we go do
other stuff".

It does not have to be 'speculative' either. In this particular case
we have very good idea that we *will* need some data from ethernet
header and, probably, IP and TCP headers as well. We might as well tel
the hardware to start pulling data in without stalling the CPU. Intel
has instructions specifically for this purpose. I assume AMD has them
too.

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


_______________________________________________
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