Commit 2f65168
committed
Merge branch 'tcp-add-fast-path-in-timer-handlers'
Eric Dumazet says:
====================
tcp: add fast path in timer handlers
As mentioned in Netconf 2024:
TCP retransmit and delack timers are not stopped from
inet_csk_clear_xmit_timer() because we do not define
INET_CSK_CLEAR_TIMERS.
Enabling INET_CSK_CLEAR_TIMERS leads to lower performance,
mainly because del_timer() and mod_timer() happen from
different cpus quite often.
What we can do instead is to add fast paths to tcp_write_timer()
and tcp_delack_timer() to avoid socket spinlock acquisition.
====================
Link: https://patch.msgid.link/20241002173042.917928-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>File tree
8 files changed
+49
-24
lines changed- include/net
- net
- ipv4
- ipv6
- mptcp
8 files changed
+49
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
200 | | - | |
| 200 | + | |
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
| 232 | + | |
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
| 236 | + | |
| 237 | + | |
237 | 238 | | |
238 | 239 | | |
239 | 240 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
775 | 775 | | |
776 | 776 | | |
777 | 777 | | |
778 | | - | |
| 778 | + | |
| 779 | + | |
779 | 780 | | |
780 | 781 | | |
781 | 782 | | |
| |||
790 | 791 | | |
791 | 792 | | |
792 | 793 | | |
793 | | - | |
| 794 | + | |
| 795 | + | |
794 | 796 | | |
795 | 797 | | |
796 | 798 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
250 | 251 | | |
251 | 252 | | |
252 | 253 | | |
| |||
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
310 | | - | |
311 | | - | |
312 | | - | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
313 | 315 | | |
314 | 316 | | |
315 | 317 | | |
316 | 318 | | |
317 | | - | |
| 319 | + | |
318 | 320 | | |
319 | 321 | | |
320 | 322 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2900 | 2900 | | |
2901 | 2901 | | |
2902 | 2902 | | |
| 2903 | + | |
2903 | 2904 | | |
2904 | 2905 | | |
2905 | 2906 | | |
2906 | | - | |
2907 | | - | |
2908 | | - | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
2909 | 2911 | | |
2910 | 2912 | | |
2911 | | - | |
| 2913 | + | |
2912 | 2914 | | |
2913 | 2915 | | |
2914 | 2916 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2960 | 2960 | | |
2961 | 2961 | | |
2962 | 2962 | | |
2963 | | - | |
| 2963 | + | |
2964 | 2964 | | |
2965 | 2965 | | |
2966 | 2966 | | |
| |||
2993 | 2993 | | |
2994 | 2994 | | |
2995 | 2995 | | |
2996 | | - | |
| 2996 | + | |
2997 | 2997 | | |
2998 | 2998 | | |
2999 | 2999 | | |
| |||
4224 | 4224 | | |
4225 | 4225 | | |
4226 | 4226 | | |
4227 | | - | |
| 4227 | + | |
| 4228 | + | |
4228 | 4229 | | |
4229 | 4230 | | |
4230 | 4231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
361 | 361 | | |
362 | 362 | | |
363 | 363 | | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
364 | 372 | | |
365 | 373 | | |
366 | 374 | | |
| |||
371 | 379 | | |
372 | 380 | | |
373 | 381 | | |
| 382 | + | |
374 | 383 | | |
375 | 384 | | |
376 | 385 | | |
| |||
701 | 710 | | |
702 | 711 | | |
703 | 712 | | |
704 | | - | |
| 713 | + | |
705 | 714 | | |
706 | 715 | | |
707 | 716 | | |
708 | | - | |
| 717 | + | |
709 | 718 | | |
710 | 719 | | |
711 | 720 | | |
| |||
717 | 726 | | |
718 | 727 | | |
719 | 728 | | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
720 | 733 | | |
721 | 734 | | |
722 | 735 | | |
| |||
726 | 739 | | |
727 | 740 | | |
728 | 741 | | |
| 742 | + | |
729 | 743 | | |
730 | 744 | | |
731 | 745 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2177 | 2177 | | |
2178 | 2178 | | |
2179 | 2179 | | |
| 2180 | + | |
2180 | 2181 | | |
2181 | 2182 | | |
2182 | 2183 | | |
| |||
2185 | 2186 | | |
2186 | 2187 | | |
2187 | 2188 | | |
2188 | | - | |
2189 | | - | |
2190 | | - | |
| 2189 | + | |
| 2190 | + | |
| 2191 | + | |
| 2192 | + | |
2191 | 2193 | | |
2192 | 2194 | | |
2193 | | - | |
| 2195 | + | |
2194 | 2196 | | |
2195 | 2197 | | |
2196 | 2198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3504 | 3504 | | |
3505 | 3505 | | |
3506 | 3506 | | |
3507 | | - | |
| 3507 | + | |
| 3508 | + | |
3508 | 3509 | | |
3509 | 3510 | | |
3510 | 3511 | | |
| |||
0 commit comments