Commit 78387a8
committed
tbv: data-credit leak reconciliation counters (localize 768-window stall)
The credit-return threshold fix is a no-op at the default window (768), so a
hang there is a slow leak (consumed-but-never-returned), not batch withholding.
Add two atomic64 counters per path and globally, exposed in debugfs:
data_tx_credit_consumed - every data frame charged a credit (TX charge site)
data_rx_credit_eligible - every received credit-consuming frame (RX)
Reconciliation: across a link, sender consumed == receiver eligible; locally,
eligible == credit_sent + rx_credit_pending. A persistent gap localizes the
leak (transit loss -> consumed > peer eligible; return-side drop -> eligible >
sent+pending). Read on 021/022 after a 16K ping-pong stall.1 parent c1ab69d commit 78387a8
3 files changed
Lines changed: 37 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
196 | 200 | | |
197 | 201 | | |
198 | 202 | | |
| |||
400 | 404 | | |
401 | 405 | | |
402 | 406 | | |
403 | | - | |
| 407 | + | |
404 | 408 | | |
405 | 409 | | |
406 | 410 | | |
407 | 411 | | |
408 | 412 | | |
| 413 | + | |
409 | 414 | | |
410 | 415 | | |
411 | 416 | | |
| |||
425 | 430 | | |
426 | 431 | | |
427 | 432 | | |
428 | | - | |
| 433 | + | |
429 | 434 | | |
430 | 435 | | |
| 436 | + | |
431 | 437 | | |
432 | 438 | | |
433 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
987 | 987 | | |
988 | 988 | | |
989 | 989 | | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
990 | 996 | | |
991 | 997 | | |
992 | 998 | | |
| |||
1864 | 1870 | | |
1865 | 1871 | | |
1866 | 1872 | | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
1867 | 1876 | | |
1868 | 1877 | | |
1869 | 1878 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
221 | 231 | | |
222 | 232 | | |
223 | 233 | | |
| |||
578 | 588 | | |
579 | 589 | | |
580 | 590 | | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
581 | 601 | | |
582 | 602 | | |
583 | 603 | | |
| |||
0 commit comments