Commit 9d35d88
committed
rxrpc: Move client call connection to the I/O thread
Move the connection setup of client calls to the I/O thread so that a whole
load of locking and barrierage can be eliminated. This necessitates the
app thread waiting for connection to complete before it can begin
encrypting data.
This also completes the fix for a race that exists between call connection
and call disconnection whereby the data transmission code adds the call to
the peer error distribution list after the call has been disconnected (say
by the rxrpc socket getting closed).
The fix is to complete the process of moving call connection, data
transmission and call disconnection into the I/O thread and thus forcibly
serialising them.
Note that the issue may predate the overhaul to an I/O thread model that
were included in the merge window for v6.2, but the timing is very much
changed by the change given below.
Fixes: cf37b59 ("rxrpc: Move DATA transmission into call processor work item")
Reported-by: [email protected]
Signed-off-by: David Howells <[email protected]>
cc: Marc Dionne <[email protected]>
cc: [email protected]1 parent 0d6bf31 commit 9d35d88
File tree
14 files changed
+297
-530
lines changed- include/trace/events
- net/rxrpc
14 files changed
+297
-530
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | | - | |
222 | 221 | | |
223 | 222 | | |
224 | 223 | | |
| |||
240 | 239 | | |
241 | 240 | | |
242 | 241 | | |
243 | | - | |
244 | 242 | | |
245 | 243 | | |
246 | | - | |
247 | 244 | | |
248 | 245 | | |
| 246 | + | |
249 | 247 | | |
250 | 248 | | |
251 | 249 | | |
| |||
273 | 271 | | |
274 | 272 | | |
275 | 273 | | |
| 274 | + | |
276 | 275 | | |
277 | 276 | | |
278 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
295 | | - | |
296 | 295 | | |
297 | 296 | | |
298 | 297 | | |
| |||
304 | 303 | | |
305 | 304 | | |
306 | 305 | | |
307 | | - | |
| 306 | + | |
| 307 | + | |
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
| |||
385 | 385 | | |
386 | 386 | | |
387 | 387 | | |
388 | | - | |
389 | 388 | | |
390 | 389 | | |
391 | 390 | | |
| |||
413 | 412 | | |
414 | 413 | | |
415 | 414 | | |
| 415 | + | |
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| |||
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
439 | | - | |
440 | 439 | | |
441 | 440 | | |
442 | | - | |
443 | | - | |
| 441 | + | |
444 | 442 | | |
445 | 443 | | |
446 | 444 | | |
| |||
468 | 466 | | |
469 | 467 | | |
470 | 468 | | |
471 | | - | |
| 469 | + | |
472 | 470 | | |
473 | 471 | | |
474 | 472 | | |
| |||
489 | 487 | | |
490 | 488 | | |
491 | 489 | | |
| 490 | + | |
492 | 491 | | |
493 | 492 | | |
494 | 493 | | |
| |||
619 | 618 | | |
620 | 619 | | |
621 | 620 | | |
622 | | - | |
| 621 | + | |
623 | 622 | | |
624 | 623 | | |
625 | 624 | | |
| |||
866 | 865 | | |
867 | 866 | | |
868 | 867 | | |
| 868 | + | |
869 | 869 | | |
870 | 870 | | |
871 | 871 | | |
| |||
905 | 905 | | |
906 | 906 | | |
907 | 907 | | |
| 908 | + | |
908 | 909 | | |
909 | 910 | | |
910 | 911 | | |
| |||
940 | 941 | | |
941 | 942 | | |
942 | 943 | | |
943 | | - | |
| 944 | + | |
944 | 945 | | |
945 | 946 | | |
946 | | - | |
| 947 | + | |
| 948 | + | |
947 | 949 | | |
948 | 950 | | |
949 | 951 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
153 | | - | |
| 153 | + | |
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | | - | |
| 245 | + | |
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
289 | 322 | | |
290 | 323 | | |
291 | 324 | | |
| |||
369 | 402 | | |
370 | 403 | | |
371 | 404 | | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | 405 | | |
377 | 406 | | |
378 | 407 | | |
| |||
387 | 416 | | |
388 | 417 | | |
389 | 418 | | |
390 | | - | |
391 | 419 | | |
392 | 420 | | |
393 | 421 | | |
394 | 422 | | |
395 | 423 | | |
396 | 424 | | |
397 | | - | |
398 | | - | |
| 425 | + | |
| 426 | + | |
399 | 427 | | |
400 | 428 | | |
401 | 429 | | |
402 | 430 | | |
403 | 431 | | |
404 | | - | |
405 | | - | |
| 432 | + | |
406 | 433 | | |
407 | 434 | | |
408 | 435 | | |
| |||
460 | 487 | | |
461 | 488 | | |
462 | 489 | | |
463 | | - | |
| 490 | + | |
464 | 491 | | |
465 | 492 | | |
466 | 493 | | |
| |||
520 | 547 | | |
521 | 548 | | |
522 | 549 | | |
523 | | - | |
| 550 | + | |
524 | 551 | | |
525 | 552 | | |
526 | 553 | | |
| |||
555 | 582 | | |
556 | 583 | | |
557 | 584 | | |
558 | | - | |
| 585 | + | |
559 | 586 | | |
560 | 587 | | |
561 | 588 | | |
562 | 589 | | |
563 | 590 | | |
564 | 591 | | |
565 | 592 | | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
566 | 596 | | |
567 | 597 | | |
568 | 598 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
0 commit comments