diff options
Diffstat (limited to 'debian/patches/features/all/ena/net-ena-remove-old-adaptive-interrupt-moderation-cod.patch')
-rw-r--r-- | debian/patches/features/all/ena/net-ena-remove-old-adaptive-interrupt-moderation-cod.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/debian/patches/features/all/ena/net-ena-remove-old-adaptive-interrupt-moderation-cod.patch b/debian/patches/features/all/ena/net-ena-remove-old-adaptive-interrupt-moderation-cod.patch new file mode 100644 index 000000000..17cb06e09 --- /dev/null +++ b/debian/patches/features/all/ena/net-ena-remove-old-adaptive-interrupt-moderation-cod.patch @@ -0,0 +1,83 @@ +From: Arthur Kiyanovski <akiyano@amazon.com> +Date: Mon, 16 Sep 2019 14:31:31 +0300 +Subject: [PATCH] net: ena: remove old adaptive interrupt moderation code from + ena_netdev +Origin: https://git.kernel.org/linus/242d81fd3dd9f301b0c20564aafec8efdb2bbe5b +Bug-Debian: https://bugs.debian.org/941291 + +1. Out of the fields {per_napi_bytes, per_napi_packets} in struct ena_ring, + only rx_ring->per_napi_packets are used to determine if napi did work + for dim. + This commit removes all other uses of these fields. +2. Remove ena_ring->moder_tbl_idx, which is not used by dim. +3. Remove all calls to ena_com_destroy_interrupt_moderation(), since all it + did was to destroy the interrupt moderation table, which is removed as + part of removing old interrupt moderation code. + +Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/amazon/ena/ena_netdev.c | 8 -------- + drivers/net/ethernet/amazon/ena/ena_netdev.h | 2 -- + 2 files changed, 10 deletions(-) + +Index: linux/drivers/net/ethernet/amazon/ena/ena_netdev.c +=================================================================== +--- linux.orig/drivers/net/ethernet/amazon/ena/ena_netdev.c ++++ linux/drivers/net/ethernet/amazon/ena/ena_netdev.c +@@ -158,7 +158,6 @@ static void ena_init_io_rings_common(str + ring->adapter = adapter; + ring->ena_dev = adapter->ena_dev; + ring->per_napi_packets = 0; +- ring->per_napi_bytes = 0; + ring->cpu = 0; + ring->first_interrupt = false; + ring->no_interrupt_event_cnt = 0; +@@ -835,9 +834,6 @@ static int ena_clean_tx_irq(struct ena_r + __netif_tx_unlock(txq); + } + +- tx_ring->per_napi_bytes += tx_bytes; +- tx_ring->per_napi_packets += tx_pkts; +- + return tx_pkts; + } + +@@ -1121,7 +1117,6 @@ static int ena_clean_rx_irq(struct ena_r + } while (likely(res_budget)); + + work_done = budget - res_budget; +- rx_ring->per_napi_bytes += total_len; + rx_ring->per_napi_packets += work_done; + u64_stats_update_begin(&rx_ring->syncp); + rx_ring->rx_stats.bytes += total_len; +@@ -3643,7 +3638,6 @@ err_free_msix: + ena_free_mgmnt_irq(adapter); + ena_disable_msix(adapter); + err_worker_destroy: +- ena_com_destroy_interrupt_moderation(ena_dev); + del_timer(&adapter->timer_service); + err_netdev_destroy: + free_netdev(netdev); +@@ -3704,8 +3698,6 @@ static void ena_remove(struct pci_dev *p + + pci_disable_device(pdev); + +- ena_com_destroy_interrupt_moderation(ena_dev); +- + vfree(ena_dev); + } + +Index: linux/drivers/net/ethernet/amazon/ena/ena_netdev.h +=================================================================== +--- linux.orig/drivers/net/ethernet/amazon/ena/ena_netdev.h ++++ linux/drivers/net/ethernet/amazon/ena/ena_netdev.h +@@ -280,8 +280,6 @@ struct ena_ring { + struct ena_com_rx_buf_info ena_bufs[ENA_PKT_MAX_BUFS]; + u32 smoothed_interval; + u32 per_napi_packets; +- u32 per_napi_bytes; +- enum ena_intr_moder_level moder_tbl_idx; + u16 non_empty_napi_events; + struct u64_stats_sync syncp; + union { |