From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BED3DC4361A for ; Thu, 3 Dec 2020 18:18:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6372B207A8 for ; Thu, 3 Dec 2020 18:18:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728618AbgLCSSG (ORCPT ); Thu, 3 Dec 2020 13:18:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727004AbgLCSSF (ORCPT ); Thu, 3 Dec 2020 13:18:05 -0500 Received: from mail-io1-xd43.google.com (mail-io1-xd43.google.com [IPv6:2607:f8b0:4864:20::d43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8E03C061A4F for ; Thu, 3 Dec 2020 10:17:25 -0800 (PST) Received: by mail-io1-xd43.google.com with SMTP id y5so3053530iow.5 for ; Thu, 03 Dec 2020 10:17:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pSh2mdC7u3jYyuadkXEKxhnw2EdBMqG74YREkWtGxzs=; b=pH5KLWJOYLAYoMpUZBNfHMaZ5E2mGJcez938N7fELV0yceC8u+BNwqR7KSgii3lU+z EUWF118GMrbQo/MbiQ7arjsoMXJiDqn+eHgnALl3putfca4BgyAhZqt7BqfEoQpexKrH Y+nUBHeaCZOkBcvtQmA3gD8IiJ1f1qdt52paVWsZ/d5MYMW4LZEj90ljQeHABpmsQbF0 d/BTSRMfauF6XXNec03vsqrJR/POOfYFWFqpwFsrCj4jA3a+Tc5SMHW1sFpFklBDElWG 4Fd12OXzSnrahS/tICth1iwzKYhnlWY6xW1KVC5D0FgSBmERwEUS0vxbR9HVnorgldSA 692A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pSh2mdC7u3jYyuadkXEKxhnw2EdBMqG74YREkWtGxzs=; b=oFcRwLDPoaeZpfZqqCgeTjhYuVfjjjXcRSFJuqA5bgAqDejfyOMxgnTaDqbvcD9hCI cDzfgQLJxssI4wGVRaWsj7BKesJTC1sbLCC/VjEnJsCXKfUcul1ElUncZ7I3KYLCnLnN Bo7Whou/35CIPO3Ftvv7yxAEaPSIK/6YcuKY0CoXEAmAqEag5vnzwV2Ki4uhhySSPyqm eQkHq+YnE/ceWhkmDNejZPqnUsvLGdoJ5cgl+6H5qmrWTh1pOGIo/q91I29lomyMm9bh BEO9ikkHpaVjmYKWeoAPNVqDTYJ24HkIAwyIFNzVMVkoXk36qy3y1IgppaXj9JXODUo9 vBiw== X-Gm-Message-State: AOAM533M/ynia/BNqHjXlbBDqEm1wKzuUd+2CHznOOB72L5L1jJDvdS/ 3P+VDNkTfTeuoqf+3RiIn83nEx1JpyBSzq7BqKc= X-Google-Smtp-Source: ABdhPJyg/h0QFwwgOB+1ZRPRQC6BIM5BtZbrbcjKV3BOlb9QFX08SmcT8oKyWiopJzSjFpalytaB/ORjp1CAq6DlKL8= X-Received: by 2002:a5d:964a:: with SMTP id d10mr507706ios.5.1607019444940; Thu, 03 Dec 2020 10:17:24 -0800 (PST) MIME-Version: 1.0 References: <20201202182413.232510-1-awogbemila@google.com> In-Reply-To: <20201202182413.232510-1-awogbemila@google.com> From: Alexander Duyck Date: Thu, 3 Dec 2020 10:17:14 -0800 Message-ID: Subject: Re: [PATCH net-next v9 0/4] GVE Raw Addressing To: David Awogbemila Cc: Netdev , Saeed Mahameed , Eric Dumazet Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Wed, Dec 2, 2020 at 10:24 AM David Awogbemila wrote: > > Patchset description: > This patchset introduces "raw addressing" mode to the GVE driver. > Previously (in "queue_page_list" or "qpl" mode), the driver would > pre-allocate and dma_map buffers to be used on egress and ingress. > On egress, it would copy data from the skb provided to the > pre-allocated buffers - this was expensive. > In raw addressing mode, the driver can avoid this copy and simply > dma_map the skb's data so that the NIC can use it. > On ingress, the driver passes buffers up to the networking stack and > then frees and reallocates buffers when necessary instead of using > skb_copy_to_linear_data. > Patch 3 separates the page refcount tracking mechanism > into a function gve_rx_can_recycle_buffer which uses get_page - this will > be changed in a future patch to eliminate the use of get_page in tracking > page refcounts. > > Changes from v8: > Patch 4: Free skbs that are not sent in gve_tx(). > > Catherine Sullivan (3): > gve: Add support for raw addressing device option > gve: Add support for raw addressing to the rx path > gve: Add support for raw addressing in the tx path > > David Awogbemila (1): > gve: Rx Buffer Recycling > > drivers/net/ethernet/google/gve/gve.h | 39 +- > drivers/net/ethernet/google/gve/gve_adminq.c | 89 ++++- > drivers/net/ethernet/google/gve/gve_adminq.h | 15 +- > drivers/net/ethernet/google/gve/gve_desc.h | 19 +- > drivers/net/ethernet/google/gve/gve_ethtool.c | 2 + > drivers/net/ethernet/google/gve/gve_main.c | 11 +- > drivers/net/ethernet/google/gve/gve_rx.c | 364 +++++++++++++----- > drivers/net/ethernet/google/gve/gve_tx.c | 202 ++++++++-- > 8 files changed, 577 insertions(+), 164 deletions(-) > > -- > 2.29.2.576.ga3fc446d84-goog > Other than the few nits with counters being u32 values I didn't really see much else. Reviewed-by: Alexander Duyck