diff options
author | jmallett <jmallett@FreeBSD.org> | 2011-01-09 23:46:24 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2011-01-09 23:46:24 +0000 |
commit | ef1dcae0cf597aead004a2c541cb9e38096c6643 (patch) | |
tree | dd7c7c451c58aaf269f9377cf351f157f3fc34c7 /lib/bind | |
parent | db62f5eeb502519f7c229d55593fea1fd9738bd1 (diff) | |
download | FreeBSD-src-ef1dcae0cf597aead004a2c541cb9e38096c6643.zip FreeBSD-src-ef1dcae0cf597aead004a2c541cb9e38096c6643.tar.gz |
Now that we correctly enable rx interrupts on all cores, performance has gotten
quite awful, because e.g. 4 packets will come in and get processed on 4
different cores at the same time, really battling with the TCP stack quite
painfully. For now, just run one task at a time.
This gets performance up in most cases to where it was before the correctness
fixes that got interrupts to run on all cores (except in high-load TCP transmit
cases where all we're handling receive for is ACKs) and in some cases it's
better now. What would be ideal would be to use a more advanced interrupt
mitigation strategy and possibly to use different workqueue groups per port for
multi-port systems, and so on, but this is a fine stopgap.
Diffstat (limited to 'lib/bind')
0 files changed, 0 insertions, 0 deletions