From patchwork Thu Feb 4 19:58:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Boyer X-Patchwork-Id: 87755 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9CB64A0524; Thu, 4 Feb 2021 20:59:10 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1236F2407D0; Thu, 4 Feb 2021 20:59:10 +0100 (CET) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id 147962407C2 for ; Thu, 4 Feb 2021 20:59:09 +0100 (CET) Received: by mail-pl1-f173.google.com with SMTP id y10so2335242plk.7 for ; Thu, 04 Feb 2021 11:59:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id; bh=hd8UcMBAUq/dQvVXWoaGyEIz1ASMBwSEcEqlc0T3ajE=; b=Q71LEGZrYteDXaoDewxrQUMMyrQAqOC+xkyOF9rq4QsFvg1C9XCATADSuTLySXsJW6 Sh6oD8qLKrVmfbHOUVnGrgYqszF28ouTp2WbT9hS9RFxeVpuK8x3bpfpakGRoO/aSK9M 3yJvLmzfDLeAqNH/lsBwbBsJm0jobPBAuc2uiYPcIOuQd/tuAO458M87CfF8oV0/Xsnf R5avyusRhqOMt63d1jItTfJseq78phQLAwg1Dac04QGC5bLC1wnZ14wTdBetPvBoTJXi CRGyxT7vW+JjYMJ+yE/Ws4s8Fv2jCIs6NUdBtPM6c57nkqJzjo9ZHWecz/tMMxAiPpBZ z5nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=hd8UcMBAUq/dQvVXWoaGyEIz1ASMBwSEcEqlc0T3ajE=; b=I6RmoSoO3yOFV9ClcEMo2glcqNzE0hGJwzGXjo9iWZ6clVvJu7CkrIScOo8ZmYwofv mAHj8MRjxv0t6+tOpPc63jsUuJjhrKK56Nh99clAA3ONeJ0phpnHZuLJY9OxnPcH3vM3 Kkz9Qei0D+PWeXUEar53SltZVF56uAnLkCndqtcOPN67xIMwQ0a7EGEwvCBsRoSOoqhO gVx9sFav4QlmR46pZcV651lVLlIAiB2sjK7lZunGK3haPhX6j+wyxYf2ObLyqlhTCxdg rxpx12Evxy7nY7Y79fIkMLoefrmvAOGQjqAKtWZ77/Zu6+DgdRhd9patdVftRZ69S1rM yjtQ== X-Gm-Message-State: AOAM532874Dnebncg9eoWFXJmBzmQFxdfDXJiTazXpQvUcvf7qHnjIQt IIiIuunH7qE25DZtpiegc6Q9qKIpFbeimg== X-Google-Smtp-Source: ABdhPJytsPqUa37xSWpJ6HsYseK53GcKf9gvJf43PYQx0szRmm3bZ2KRwBLIS8lffJYcDdl1LZMcSQ== X-Received: by 2002:a17:902:123:b029:dc:27b:3c62 with SMTP id 32-20020a1709020123b02900dc027b3c62mr784923plb.16.1612468747882; Thu, 04 Feb 2021 11:59:07 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id r14sm7757915pgi.27.2021.02.04.11.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Feb 2021 11:59:07 -0800 (PST) From: Andrew Boyer To: dev@dpdk.org Cc: Alfredo Cardigliano , Andrew Boyer Date: Thu, 4 Feb 2021 11:58:39 -0800 Message-Id: <20210204195853.13411-1-aboyer@pensando.io> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH 00/14] net/ionic: struct optimizations, fixes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch series reorganizes the main datastructure for each queue, struct ionic_qcq. Its constituent struct ionic_queue and struct ionic_cq are stripped down first. Then the generic struct ionic_qcq is stripped down, and a unique struct is created for each queue type. The adminq code is consolidated into ionic_main.c as part of the cleanup. Next comes some minor performance fixups related to queue posting and doorbells. Finally, two minor fixes to Tx packet prep and LIF init. Signed-off-by: Andrew Boyer Andrew Boyer (14): net/ionic: cut down completion queue structure net/ionic: consolidate adminq code net/ionic: convert info array to generic pointers net/ionic: remove unused field from queue structure net/ionic: remove unused interrupt free function net/ionic: cut down queue structure net/ionic: split up queue-completion queue structure net/ionic: use the socket id passed in for Rx and Tx queues net/ionic: log queue counters when tearing down net/ionic: break up queue post function net/ionic: ring doorbell once at the end of each burst net/ionic: send as many packets as possible net/ionic: fix Tx fragment limit check net/ionic: fix code around lif init devcmd drivers/net/ionic/ionic.h | 13 ++ drivers/net/ionic/ionic_dev.c | 132 +------------- drivers/net/ionic/ionic_dev.h | 81 +++------ drivers/net/ionic/ionic_lif.c | 242 +++++++++++++------------ drivers/net/ionic/ionic_lif.h | 77 +++++--- drivers/net/ionic/ionic_main.c | 93 +++++++++- drivers/net/ionic/ionic_rx_filter.c | 1 + drivers/net/ionic/ionic_rxtx.c | 265 ++++++++++++++++------------ 8 files changed, 458 insertions(+), 446 deletions(-)