]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
net: ena: enable Low Latency Queues
authorArthur Kiyanovski <akiyano@amazon.com>
Wed, 17 Oct 2018 12:33:23 +0000 (15:33 +0300)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Fri, 9 Nov 2018 19:00:54 +0000 (17:00 -0200)
BugLink: http://bugs.launchpad.net/bugs/1798182
Use the new API to enable usage of LLQ.

Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 9fd255928d7ffb56d8466fab3331d0b2f40aa8c7 linux-next)
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/net/ethernet/amazon/ena/ena_netdev.c

index 634ba069ea072a122061adc64465283b01110634..7739cca94fb4adb4018607c711aa0e907cb1e469 100644 (file)
@@ -3022,20 +3022,10 @@ static int ena_calc_io_queue_num(struct pci_dev *pdev,
        int io_sq_num, io_queue_num;
 
        /* In case of LLQ use the llq number in the get feature cmd */
-       if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
-               io_sq_num = get_feat_ctx->max_queues.max_legacy_llq_num;
-
-               if (io_sq_num == 0) {
-                       dev_err(&pdev->dev,
-                               "Trying to use LLQ but llq_num is 0. Fall back into regular queues\n");
-
-                       ena_dev->tx_mem_queue_type =
-                               ENA_ADMIN_PLACEMENT_POLICY_HOST;
-                       io_sq_num = get_feat_ctx->max_queues.max_sq_num;
-               }
-       } else {
+       if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
+               io_sq_num = get_feat_ctx->llq.max_llq_num;
+       else
                io_sq_num = get_feat_ctx->max_queues.max_sq_num;
-       }
 
        io_queue_num = min_t(int, num_online_cpus(), ENA_MAX_NUM_IO_QUEUES);
        io_queue_num = min_t(int, io_queue_num, io_sq_num);
@@ -3238,7 +3228,7 @@ static int ena_calc_queue_size(struct pci_dev *pdev,
 
        if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
                queue_size = min_t(u32, queue_size,
-                                  get_feat_ctx->max_queues.max_legacy_llq_depth);
+                                  get_feat_ctx->llq.max_llq_depth);
 
        queue_size = rounddown_pow_of_two(queue_size);