Commit 554a1c3
igc: Fix trigger of incorrect irq in igc_xsk_wakeup function
This patch addresses the issue where the igc_xsk_wakeup function
was triggering an incorrect IRQ for tx-0 when the i226 is configured
with only 2 combined queues or in an environment with 2 active CPU cores.
This prevented XDP Zero-copy send functionality in such split IRQ
configurations.
The fix implements the correct logic for extracting q_vectors saved
during rx and tx ring allocation and utilizes flags provided by the
ndo_xsk_wakeup API to trigger the appropriate IRQ.
Fixes: fc9df2a ("igc: Enable RX via AF_XDP zero-copy")
Fixes: 15fd021 ("igc: Add Tx hardware timestamp request for AF_XDP zero-copy packet")
Signed-off-by: Vivek Behera <vivek.behera@siemens.com>
Reviewed-by: Jacob Keller <jacob.keller@intel.com>
Reviewed-by: Aleksandr loktinov <aleksandr.loktionov@intel.com>
Reviewed-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Reviewed-by: Song Yoong Siang <yoong.siang.song@intel.com>
Tested-by: Avigail Dahan <avigailx.dahan@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>1 parent d4c13ab commit 554a1c3
2 files changed
Lines changed: 26 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6906 | 6906 | | |
6907 | 6907 | | |
6908 | 6908 | | |
6909 | | - | |
6910 | | - | |
| 6909 | + | |
6911 | 6910 | | |
6912 | | - | |
6913 | 6911 | | |
6914 | 6912 | | |
6915 | | - | |
6916 | | - | |
| 6913 | + | |
| 6914 | + | |
| 6915 | + | |
| 6916 | + | |
6917 | 6917 | | |
6918 | 6918 | | |
6919 | 6919 | | |
6920 | 6920 | | |
6921 | 6921 | | |
6922 | | - | |
| 6922 | + | |
6923 | 6923 | | |
| 6924 | + | |
6924 | 6925 | | |
6925 | 6926 | | |
6926 | 6927 | | |
6927 | 6928 | | |
6928 | 6929 | | |
6929 | 6930 | | |
6930 | | - | |
| 6931 | + | |
6931 | 6932 | | |
6932 | 6933 | | |
6933 | 6934 | | |
| |||
6936 | 6937 | | |
6937 | 6938 | | |
6938 | 6939 | | |
6939 | | - | |
6940 | | - | |
6941 | | - | |
| 6940 | + | |
| 6941 | + | |
| 6942 | + | |
| 6943 | + | |
| 6944 | + | |
| 6945 | + | |
| 6946 | + | |
| 6947 | + | |
| 6948 | + | |
| 6949 | + | |
| 6950 | + | |
| 6951 | + | |
| 6952 | + | |
| 6953 | + | |
| 6954 | + | |
| 6955 | + | |
6942 | 6956 | | |
6943 | 6957 | | |
6944 | 6958 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
553 | | - | |
| 553 | + | |
| 554 | + | |
554 | 555 | | |
555 | 556 | | |
556 | 557 | | |
| |||
0 commit comments