Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp]

Artem Belevich fbsdlist at src.cx
Mon Jul 7 22:33:05 UTC 2008


>  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


More information about the freebsd-net mailing list