From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A4C8270575 for ; Wed, 5 Nov 2025 18:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762367180; cv=none; b=KjiRBCYrH7j1tDAj46EtDFTqOERF1b+uVEg5wrV0F1gQrwOiFBA/5+vzXp/Jkf+dxqX27NuxfWHS2yfrOSKTrTLSMv5yGcXAI3fy9wudC0jXy62l6UPnIPOY5yOgLLSHn2iXVRkKosuM5nGVbcJSBu+P3w0Ick27EJBAudp332I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762367180; c=relaxed/simple; bh=dC3wZU1d3Q/XuLeo0NqN7Nn6l96ix4J3LsC/gtz7RXU=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=a2lo6iN3MrsdCapbFX0x3JdeP1y2AgFA5Nb0aZtDolk42frvWI0yTHMMMdiWLgq12843lzgTokCeE6283seNluPGnoXsyrTFeZV5QEKlcxCQGqwN5u+VrTXh1LgtR4qTSnMFqFr4JR7Rq8jySsWQbrc+Alj+tCJSqD27XtlcbVQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--joshwash.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=XTUAiIu2; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--joshwash.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="XTUAiIu2" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-28eb14e3cafso2844785ad.1 for ; Wed, 05 Nov 2025 10:26:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1762367177; x=1762971977; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=KSss6HbGQCY5z8mN796rywNkBrMYQLKch5XXdSsn0us=; b=XTUAiIu2oYf1CgZV8O3V4WcvY5QomgL82n0PWSnHVA1IaHIP6ZoCCl+Gn0bHktPtIN JFGyt89YcGZvnU1GJT8BjNrUfb5idSF+nRV32qaoRfNPiH+qTXeKsVJ82SdcsDWiq62Z LLEE4SuOaR/qTWWQWIaqh6olEAY53UFL5c12pRyr5/HX0l0xvP/J+NhWF21gFOs/nuNt AbbG9nM5FNJAtR551pcn7AXV834m3zpkNIHbDE2bhRJDDh2I0+QJFuw3qr5BBOZP1XjK ISrhmzFgYDrSEDvVdZf5iAOlNrgfYi5cghMTw1RS75l9+uyc6x43poTPydXWXTt6ufhv RveQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762367177; x=1762971977; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=KSss6HbGQCY5z8mN796rywNkBrMYQLKch5XXdSsn0us=; b=jFYiBuAtIAyusk7qNam6IFuwIYWdNSKglelfKbJZX9r4wrL+3KlGGIuYaE8sU4KCAN oD7/o0vmx8IeKiRYAhsyNENqSJtbQI4tYb9AqkMMV0NdnfSsUGfBPMOBNsFXYWHoFGFy EkktyBylS0aiLwVGUD+Lj9gDpLTn5zpRBx2eGuntItxsJYmYPQauO9tHLXh4j8DRWWqH iHaJKueQNR2LE8oxBnwK+WuFJAzA+cpDyTW6vvXA0gX0OzArUMQ6r4mClIaM7MmL9HAA AtSgeruuBLC+XN7k+tjCZ+YsXEHrKFbk96OWjDD3/rwFCsm2L8kjV3roNRXxAha02vlG wHFQ== X-Forwarded-Encrypted: i=1; AJvYcCW0h02fBDSmsJkRkcKssyPkzYzTqnzF9H/XcTm09OE1yPitYE/ycRUd9oZmprrte8lJ18zbEkp1wxlgqpw=@vger.kernel.org X-Gm-Message-State: AOJu0YztOG7y4Pj94LpkB0yq6ClKd/ENI1c8XKYXQS4Q5/m/1Hy5Jvep 5WB7fvs7SPcY6TlZRReIOm8PE90+XznDFyUU/jUYGlK59uB7BWBgYWEBiGWMw7yD2q1Vxsitm+d /ZQRbY0HGJkAdIg== X-Google-Smtp-Source: AGHT+IGVoXl2Yf/ZmXbfSZT9DXVZPIfvmxJuyTN8+U8b4/6iSY/LsQ8oiGdYPs2AX8p70jtncbegcjmEFBPnHg== X-Received: from plbba9.prod.google.com ([2002:a17:902:7209:b0:295:49fb:2392]) (user=joshwash job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:fc8e:b0:295:8c51:64ff with SMTP id d9443c01a7336-2962ad95d73mr59836465ad.29.1762367176830; Wed, 05 Nov 2025 10:26:16 -0800 (PST) Date: Wed, 5 Nov 2025 10:25:59 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.51.2.1041.gc1ab5b90ca-goog Message-ID: <20251105182603.1223474-1-joshwash@google.com> Subject: [PATCH net-next v2 0/4] gve: Improve RX buffer length management From: joshwash@google.com To: netdev@vger.kernel.org Cc: Joshua Washington , Harshitha Ramamurthy , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Willem de Bruijn , Praveen Kaligineedi , Ziwei Xiao , John Fraker , "Dr. David Alan Gilbert" , Ankit Garg , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" From: Ankit Garg This patch series improves the management of the RX buffer length for the DQO queue format in the gve driver. The goal is to make RX buffer length config more explicit, easy to change, and performant by default. We accomplish that in four patches: 1. Currently, the buffer length is implicitly coupled with the header split setting, which is an unintuitive and restrictive design. The first patch decouples the RX buffer length from the header split configuration. 2. The second patch is a preparatory step for third. It converts the XDP config verification method to use extack for better error reporting. 3. The third patch exposes the `rx_buf_len` parameter to userspace via ethtool, allowing user to directly view or modify the RX buffer length if supported by the device. 4. The final patch improves the out-of-the-box RX single stream throughput by >10% by changing the driver's default behavior to select the maximum supported RX buffer length advertised by the device during initialization. Changes in v2: * Plumbed extack during xdp verification in patch 2 (Jakub Kicinski) * Refactored RX buffer length validation to clarify that it handles scenario when device doesn't advertise 4K support (Jakub Kicinski) Ankit Garg (4): gve: Decouple header split from RX buffer length gve: Use extack to log xdp config verification errors gve: Allow ethtool to configure rx_buf_len gve: Default to max_rx_buffer_size for DQO if device supported drivers/net/ethernet/google/gve/gve.h | 12 +++++-- drivers/net/ethernet/google/gve/gve_adminq.c | 4 +++ drivers/net/ethernet/google/gve/gve_ethtool.c | 13 +++++-- drivers/net/ethernet/google/gve/gve_main.c | 73 +++++++++++++++++++++++++++++----------- 4 files changed, 78 insertions(+), 24 deletions(-) -- 2.51.2.997.g839fc31de9-goog