Matt Macy
d7c5a620e2
ifnet: Replace if_addr_lock rwlock with epoch + mutex
Run on LLNW canaries and tested by pho@
gallatin:
Using a 14-core, 28-HTT single socket E5-2697 v3 with a 40GbE MLX5
based ConnectX 4-LX NIC, I see an almost 12% improvement in received
packet rate, and a larger improvement in bytes delivered all the way
to userspace.
When the host receiving 64 streams of netperf -H $DUT -t UDP_STREAM -- -m 1,
I see, using nstat -I mce0 1 before the patch:
InMpps OMpps InGbs OGbs err TCP Est %CPU syscalls csw irq GBfree
4.98 0.00 4.42 0.00 4235592 33 83.80 4720653 2149771 1235 247.32
4.73 0.00 4.20 0.00 4025260 33 82.99 4724900 2139833 1204 247.32
4.72 0.00 4.20 0.00 4035252 33 82.14 4719162 2132023 1264 247.32
4.71 0.00 4.21 0.00 4073206 33 83.68 4744973 2123317 1347 247.32
4.72 0.00 4.21 0.00 4061118 33 80.82 4713615 2188091 1490 247.32
4.72 0.00 4.21 0.00 4051675 33 85.29 4727399 2109011 1205 247.32
4.73 0.00 4.21 0.00 4039056 33 84.65 4724735 2102603 1053 247.32
After the patch
InMpps OMpps InGbs OGbs err TCP Est %CPU syscalls csw irq GBfree
5.43 0.00 4.20 0.00 3313143 33 84.96 5434214 1900162 2656 245.51
5.43 0.00 4.20 0.00 3308527 33 85.24 5439695 1809382 2521 245.51
5.42 0.00 4.19 0.00 3316778 33 87.54 5416028 1805835 2256 245.51
5.42 0.00 4.19 0.00 3317673 33 90.44 5426044 1763056 2332 245.51
5.42 0.00 4.19 0.00 3314839 33 88.11 5435732 1792218 2499 245.52
5.44 0.00 4.19 0.00 3293228 33 91.84 5426301 1668597 2121 245.52
Similarly, netperf reports 230Mb/s before the patch, and 270Mb/s after the patch
Reviewed by: gallatin
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15366
2018-05-18 20:13:34 +00:00
..
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-03-23 15:35:19 +00:00
2017-03-04 10:10:17 +00:00
2017-09-26 23:12:32 +00:00
2017-03-04 10:10:17 +00:00
2017-07-09 22:53:24 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-11-29 23:41:49 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-05-17 10:25:01 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-09-05 15:13:41 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-08-19 17:15:40 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-05-25 04:18:46 +00:00
2017-03-04 10:10:17 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-05-25 04:18:46 +00:00
2017-03-04 10:10:17 +00:00
2017-05-25 04:18:46 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-22 08:33:59 +00:00
2018-01-21 21:27:41 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-12 12:14:14 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-21 02:08:56 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-02-12 22:21:11 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-07 19:29:19 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-18 22:01:30 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-30 04:56:27 +00:00
2017-03-04 10:10:17 +00:00
2018-02-22 19:12:32 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-11-24 14:02:32 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-21 02:08:56 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-30 04:56:27 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-09-13 17:49:23 +00:00
2018-05-17 01:42:18 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-11 03:01:18 +00:00
2018-04-06 17:35:35 +00:00
2018-05-03 19:45:48 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-11-21 17:23:16 +00:00
2017-10-10 19:14:40 +00:00
2017-05-22 14:46:13 +00:00
2017-12-30 11:42:49 +00:00
2017-03-04 10:10:17 +00:00
2018-05-10 17:55:24 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-06-20 14:28:51 +00:00
2017-04-07 16:14:25 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-06-13 14:07:13 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-26 06:21:24 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-07 20:28:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2018-04-01 18:22:24 +00:00
2017-06-15 12:47:48 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-03-16 02:46:08 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-02-07 18:59:54 +00:00
2017-03-04 10:10:17 +00:00
2018-05-09 11:59:24 +00:00
2017-03-04 10:10:17 +00:00
2017-04-03 03:07:48 +00:00
2017-03-04 10:10:17 +00:00
2017-06-15 12:47:48 +00:00
2017-03-04 10:10:17 +00:00
2017-05-18 06:13:29 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-03-17 17:18:46 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-06-04 21:05:58 +00:00
2018-03-28 07:59:16 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-12-20 18:15:06 +00:00
2018-05-01 18:50:12 +00:00
2017-03-04 10:10:17 +00:00
2017-12-20 18:15:06 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-24 12:50:21 +00:00
2018-04-06 17:35:35 +00:00
2018-04-06 17:35:35 +00:00
2017-06-26 21:14:33 +00:00
2017-09-12 23:36:58 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-11-21 09:08:27 +00:00
2017-03-04 10:10:17 +00:00
2017-11-13 10:49:18 +00:00
2018-03-23 18:32:03 +00:00
2017-03-04 10:10:17 +00:00
2018-03-08 11:23:14 +00:00
2017-03-04 10:10:17 +00:00
2017-03-16 22:23:04 +00:00
2017-07-09 17:02:47 +00:00
2017-05-08 20:58:32 +00:00
2018-04-06 17:35:35 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-06-09 12:06:22 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-02-13 17:04:34 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-03-17 17:18:37 +00:00
2018-04-12 07:20:50 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-08-30 21:16:32 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-11-14 05:05:21 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-30 07:24:31 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-17 16:46:08 +00:00
2017-08-11 17:43:25 +00:00
2017-03-04 10:10:17 +00:00
2017-08-21 20:27:45 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-06-15 12:47:48 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-06-09 07:08:58 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-07-10 03:38:07 +00:00
2018-01-12 12:14:14 +00:00
2018-01-12 12:14:14 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-08-16 10:38:06 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-28 17:43:51 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-01 18:22:24 +00:00
2018-04-07 19:09:57 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-03-27 18:20:32 +00:00
2017-05-09 05:22:51 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-01-24 22:04:16 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-05-17 19:54:11 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2018-04-06 17:35:35 +00:00
2017-12-05 17:23:33 +00:00
2018-04-08 01:32:56 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-03-04 10:10:17 +00:00
2017-10-01 16:11:07 +00:00
2017-03-04 10:10:17 +00:00
2018-05-18 20:13:34 +00:00
2017-01-28 02:22:15 +00:00