#
309108 |
|
24-Nov-2016 |
jch |
MFC r286227, r286443:
r286227:
Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability:
- The existing TCP INP_INFO lock continues to protect the global inpcb list stability during full list traversal (e.g. tcp_pcblist()).
- A new INP_LIST lock protects inpcb list actual modifications (inp allocation and free) and inpcb global counters.
It allows to use TCP INP_INFO_RLOCK lock in critical paths (e.g. tcp_input()) and INP_INFO_WLOCK only in occasional operations that walk all connections.
PR: 183659 Differential Revision: https://reviews.freebsd.org/D2599 Reviewed by: jhb, adrian Tested by: adrian, nitroboost-gmail.com Sponsored by: Verisign, Inc.
r286443:
Fix a kernel assertion issue introduced with r286227: Avoid too strict INP_INFO_RLOCK_ASSERT checks due to tcp_notify() being called from in6_pcbnotify().
Reported by: Larry Rosenman <ler@lerctr.org> Submitted by: markj, jch
|
#
307906 |
|
25-Oct-2016 |
jch |
MFC r307551:
Fix a double-free when an inp transitions to INP_TIMEWAIT state after having been dropped.
This change enforces in_pcbdrop() logic in tcp_input():
"in_pcbdrop() is used by TCP to mark an inpcb as unused and avoid future packet delivery or event notification when a socket remains open but TCP has closed."
PR: 203175 Reported by: Palle Girgensohn, Slawa Olhovchenkov Tested by: Slawa Olhovchenkov Reviewed by: Slawa Olhovchenkov Approved by: gnn, Slawa Olhovchenkov Differential Revision: https://reviews.freebsd.org/D8211 Sponsored by: Verisign, inc
|
#
282826 |
|
12-May-2015 |
gnn |
MFC: 282215
Make it possible to statically link SIFTR into the kernel as a new option.
Reviewed by: bz Discussed with: lstewart
|
#
275402 |
|
02-Dec-2014 |
jch |
MFC r264321, r264342, r264351, r264356, r273850, r274629:
Currently, the TCP slow timer can starve TCP input processing while it walks the list of connections in TIME_WAIT closing expired connections due to contention on the global TCP pcbinfo lock.
To remediate, introduce a new global lock to protect the list of connections in TIME_WAIT. Only acquire the TCP pcbinfo lock when closing an expired connection. This limits the window of time when TCP input processing is stopped to the amount of time needed to close a single connection.
Approved by: jhb (mentor)
|
#
270057 |
|
16-Aug-2014 |
bz |
MFC r266907:
While PAWS is disabled, there are no consumers for the tcp options argument to tcp_twcheck(); thus mark it __unused.
|
#
270054 |
|
16-Aug-2014 |
bz |
MFC r266618:
Make tcp_twrespond() file local private; this removes it from the public KPI; it is not used anywhere else and seems it never was.
|
#
282826 |
|
12-May-2015 |
gnn |
MFC: 282215
Make it possible to statically link SIFTR into the kernel as a new option.
Reviewed by: bz Discussed with: lstewart
|
#
275402 |
|
02-Dec-2014 |
jch |
MFC r264321, r264342, r264351, r264356, r273850, r274629:
Currently, the TCP slow timer can starve TCP input processing while it walks the list of connections in TIME_WAIT closing expired connections due to contention on the global TCP pcbinfo lock.
To remediate, introduce a new global lock to protect the list of connections in TIME_WAIT. Only acquire the TCP pcbinfo lock when closing an expired connection. This limits the window of time when TCP input processing is stopped to the amount of time needed to close a single connection.
Approved by: jhb (mentor)
|
#
270057 |
|
16-Aug-2014 |
bz |
MFC r266907:
While PAWS is disabled, there are no consumers for the tcp options argument to tcp_twcheck(); thus mark it __unused.
|
#
270054 |
|
16-Aug-2014 |
bz |
MFC r266618:
Make tcp_twrespond() file local private; this removes it from the public KPI; it is not used anywhere else and seems it never was.
|