The core piece of deferred in_pcbfree has already been discussed in D15510.
This change now consists of 2 pieces:
- Convert inpcbinfo info & hash locks to epoch for read and mutex for write
- Garbage collect code that handled INP_INFO_TRY_RLOCK failures as INP_INFO_RLOCK can no longer fail
This branch has been tested by pho@ and LLNW.
Rx on master prior to entropy fix:
https://people.freebsd.org/~mmacy/2018.05.11/udprx_master.svg
rx w/ entropy fix and inpcb lock change
https://people.freebsd.org/~mmacy/2018.05.11/udprx_norandom.svg
UDP TX before
https://people.freebsd.org/~mmacy/2018.05.11/udpsender5.svg
UDP TX after
https://people.freebsd.org/~mmacy/2018.05.11/udpsender6.svg