Artem Belevich wrote:
Hi,

As was already mentioned, we can't avoid all cache misses as there's
data that's recently been updated in memory via DMA and therefor
kicked out of cache.

However, we may hide some of the latency penalty by prefetching
'interesting' data early. I.e. we know that we want to access some
ethernet headers, so we may start pulling relevant data into cache
early. Ideally, by the time we need to access the field, it will
already be in the cache. When we're counting nanoseconds per packet
this may bring some performance gain.

Prefetching when you are waiting for the data isn't a help.
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".

As far as I know we have no capacity to do that..


Just my $0.02.
--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