What is your test setup? Do you have 2 identical boxes? Does it perform better e.g. on Linux or FreeBSD? If so, you could check how the config registers get set by that particular OS.
2014-08-28 9:26 GMT+02:00 Emmanuel Dreyfus <m...@netbsd.org>: > On Tue, Aug 26, 2014 at 12:57:37PM +0000, Christos Zoulas wrote: >> >I also found this page that tackles the same problem on Linux: >> >http://dak1n1.com/blog/7-performance-tuning-intel-10gbe > > It seems that page describe a slightly different model. > Intel 82599 datasheet is available here: > http://www.intel.fr/content/www/fr/fr/ethernet-controllers/82599-10-gbe-controller-datasheet.html > > No reference to MMRBC in this document, but I understand "Max Read Request > Size" is the same thing. Page 765 tells us about register A8, bits 12-14 > that should be set to 100. > pcictl /dev/pci5 read -d 0 -f 1 0x18 tells me the value 0x00092810 > > I tried this command: > pcictl /dev/pci5 write -d 0 -f 1 0x18 0x00094810 > > Further pcictl read suggests it works as the new value is returned. > However it gives no performance improvement. This means that I > misunderstood what this register is about, or how to change it (byte order?). > > Or the performance are constrained by something unrelated. In the blog > post cited above, the poster acheived more than 5 Gb/s before touching > MMRBC, while I am stuck at 2,7 GB/s. Any new idea welcome. > > -- > Emmanuel Dreyfus > m...@netbsd.org