Commit 13e9beb
committed
Merge: virtio_ring: Fix error reporting in virtqueue_resize
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1170
JIRA: https://issues.redhat.com/browse/RHEL-84409
Enforce minimum TX ring size for reliability
The `tx_may_stop()` logic stops TX queues if free descriptors
(`sq->vq->num_free`) fall below the threshold of (`MAX_SKB_FRAGS` + 2).
If the total ring size (`ring_num`) is not strictly greater than this
value, queues can become persistently stopped or stop after minimal
use, severely degrading performance.
A single sk_buff transmission typically requires descriptors for:
- The virtio_net_hdr (1 descriptor)
- The sk_buff's linear data (head) (1 descriptor)
- Paged fragments (up to MAX_SKB_FRAGS descriptors)
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Approved-by: Eugenio Pérez <eperezma@redhat.com>
Approved-by: Cindy Lu <lulu@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>
Merged-by: Julio Faracco <jfaracco@redhat.com>2 files changed
+16
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1065 | 1065 | | |
1066 | 1066 | | |
1067 | 1067 | | |
1068 | | - | |
| 1068 | + | |
1069 | 1069 | | |
1070 | 1070 | | |
1071 | 1071 | | |
| |||
1078 | 1078 | | |
1079 | 1079 | | |
1080 | 1080 | | |
1081 | | - | |
| 1081 | + | |
1082 | 1082 | | |
1083 | 1083 | | |
1084 | 1084 | | |
| |||
2797 | 2797 | | |
2798 | 2798 | | |
2799 | 2799 | | |
2800 | | - | |
| 2800 | + | |
2801 | 2801 | | |
2802 | 2802 | | |
2803 | 2803 | | |
| |||
2990 | 2990 | | |
2991 | 2991 | | |
2992 | 2992 | | |
2993 | | - | |
| 2993 | + | |
2994 | 2994 | | |
2995 | 2995 | | |
2996 | 2996 | | |
| |||
3219 | 3219 | | |
3220 | 3220 | | |
3221 | 3221 | | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
| 3226 | + | |
| 3227 | + | |
3222 | 3228 | | |
3223 | 3229 | | |
3224 | 3230 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2741 | 2741 | | |
2742 | 2742 | | |
2743 | 2743 | | |
2744 | | - | |
| 2744 | + | |
2745 | 2745 | | |
2746 | 2746 | | |
2747 | 2747 | | |
| |||
2763 | 2763 | | |
2764 | 2764 | | |
2765 | 2765 | | |
2766 | | - | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
2767 | 2771 | | |
2768 | 2772 | | |
2769 | 2773 | | |
| |||
0 commit comments