diff options
author | yongari <yongari@FreeBSD.org> | 2010-02-21 00:00:55 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-02-21 00:00:55 +0000 |
commit | f7a42cd9eac9affde372b292e71c9bda66493989 (patch) | |
tree | a2a56f9f31f01315dfe02dbf867e24ab8a90911d /sys/dev/re | |
parent | 413b4ea947cb4375d4c6c1ede6d1f1ba6188ccfd (diff) | |
download | FreeBSD-src-f7a42cd9eac9affde372b292e71c9bda66493989.zip FreeBSD-src-f7a42cd9eac9affde372b292e71c9bda66493989.tar.gz |
Increase PCIe maximuim read request size to 2048. Because re(4) uses
Tx DMA burst size 2048, I beleive PCIe maximum read request size
also should match to the value of Tx DMA burst size. With this
change I can get more than 800Mbps for TCP bulk transfers.
Previously I was not able to get more than 700Mbps. If I enable TSO
it now shows 927Mbps.
Diffstat (limited to 'sys/dev/re')
-rw-r--r-- | sys/dev/re/if_re.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index a642925..484bfb9 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1162,6 +1162,9 @@ re_attach(device_t dev) msic = 0; if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { sc->rl_flags |= RL_FLAG_PCIE; + /* Set PCIe maximum read request size to 2048. */ + if (pci_get_max_read_req(dev) < 2048) + pci_set_max_read_req(dev, 2048); msic = pci_msi_count(dev); if (bootverbose) device_printf(dev, "MSI count : %d\n", msic); |