Messages in this thread | | | Subject | Re: [PATCH RFC] [INET]: Get cirtical word in first 64bit of cache line | From | Eric Dumazet <> | Date | Tue, 27 Nov 2012 05:58:03 -0800 |
| |
On Tue, 2012-11-27 at 21:48 +0800, Ling Ma wrote:
> Ling: in the looking-up routine, hash value is the most important key, > if it is matched, the other values have most possibility to be > satisfied, and CFW is limited by memory bandwidth(64bit usually), so > we only move hash value as critical first word.
In practice, we have at most one TCP socket per hash slot. 99.9999 % of lookups need all fields to complete.
Your patch introduces a misalignment error. I am not sure all 64 bit arches are able to cope with that gracefully.
It seems all CWF docs I could find are very old stuff, mostly academic, without good performance data.
I was asking for up2date statements from Intel/AMD/... about current cpus and current memory. Because optimizing for 10 years olds cpus is not worth the pain.
I am assuming cpus are implementing the CWF/ER automatically, and that only prefetches could have a slight disadvantage if the needed word is not the first word in the cache line. Its not clear why the prefetch() hint could not also use CWF. It seems it also could be done by the hardware.
So before random patches in linux kernel adding their possible bugs, we need a good study.
Thanks
| |