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 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB610CFB441 for ; Mon, 7 Oct 2024 13:48:09 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 9A60A80DDC; Mon, 7 Oct 2024 13:48:09 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ahQ_UZmegDBL; Mon, 7 Oct 2024 13:48:09 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org D89FA80DD6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1728308888; bh=/CMEPpVEE6fy3UEb+JX8XqWy4ReKkQZ2Nee5KJh8d/0=; h=From:To:In-Reply-To:References:Date:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Cc:From; b=1OatL5uW7TKqzsDRvIOuzojTRmOS4z15eWLx9bmtdOPfn+j40Yc8KEjbTRsbHqSE0 E79pqozKMdC2f4F6yHWvcCEfg4rtux77hya3WJb+O/PsshCvBUcvJcJ+zA0dFg5hSc Cuw/VWXjogj69e+wJjN0Jdu39JQDCdPJJDcVCcTR5Z52lQunS/zDCXEUj7Ffb/spxx 2OrGp6s2Ag3dH6toGf9tsfIvCiry6p/faxR/zgDE7tBra2xzIaLXhw5DxUOD//jdlT FtAncLVU/IoI/SkM23l+TmqzhoXhC+YhIxyA1MkbGSrBm1o35EN1wnOdic2dcJRfRQ cbT8mgzcICFLQ== Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id D89FA80DD6; Mon, 7 Oct 2024 13:48:08 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id C605C1BF955 for ; Mon, 7 Oct 2024 13:48:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id AC95440320 for ; Mon, 7 Oct 2024 13:48:06 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Ef-_oUpnlmjH for ; Mon, 7 Oct 2024 13:48:05 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a0a:51c0:0:12e:550::1; helo=galois.linutronix.de; envelope-from=kurt@linutronix.de; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org 88BA140015 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 88BA140015 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by smtp2.osuosl.org (Postfix) with ESMTPS id 88BA140015 for ; Mon, 7 Oct 2024 13:48:05 +0000 (UTC) From: Kurt Kanzenbach To: Maciej Fijalkowski In-Reply-To: References: <20241007-b4-igb_zero_copy-v7-0-23556668adc6@linutronix.de> <20241007-b4-igb_zero_copy-v7-5-23556668adc6@linutronix.de> Date: Mon, 07 Oct 2024 15:48:01 +0200 Message-ID: <87h69o3tym.fsf@kurt.kurt.home> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1728308883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/CMEPpVEE6fy3UEb+JX8XqWy4ReKkQZ2Nee5KJh8d/0=; b=fcXenWxYppf4B3MgjuL064fGlAUEFe1lUp1CKZVXRONISZCaqx34CPlgsA9H3QSGAbYqEK cjNvhGMGB7TLtyzmvfQAGl7ci9uo6to4sfuK6miJHymST2UKXaUxiqlisyyufbDIejlAkX qxw9Z1hIxAelAYaLwwf32j2XFt/fhzwP1tnXr7O1pZU2ymcbgl/DlXFIWgc9VEAYmlTxsu Ph5ZXfjoLr0tv2kxhaZ58obNzONOPNYrxXqvcw0U65tm0yq3l+WqNNXgy64njzlXE5aTp/ b5evre4s09feOeHeZCa5ju6yUw/NpHhylZAjHn3n3+6Wsawkk4tXTuIlKyFLNw== X-Mailman-Original-DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1728308883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/CMEPpVEE6fy3UEb+JX8XqWy4ReKkQZ2Nee5KJh8d/0=; b=uycR1gYDgxQPnbwBcdIYakrl/MLcbeIXwkYNCh6hLRKdncJULrn57s71HsL7JlVFPJK8g4 BVBnxR7dPoRnulAw== X-Mailman-Original-Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=linutronix.de X-Mailman-Original-Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.a=rsa-sha256 header.s=2020 header.b=fcXenWxY; dkim=pass header.d=linutronix.de header.i=@linutronix.de header.a=ed25519-sha256 header.s=2020e header.b=uycR1gYD Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 5/5] igb: Add AF_XDP zero-copy Tx support X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jesper Dangaard Brouer , Daniel Borkmann , Sriram Yagnaraman , Przemek Kitszel , Richard Cochran , John Fastabend , Alexei Starovoitov , Sriram Yagnaraman , Benjamin Steinke , Eric Dumazet , netdev@vger.kernel.org, Tony Nguyen , intel-wired-lan@lists.osuosl.org, Jakub Kicinski , bpf@vger.kernel.org, Paolo Abeni , "David S. Miller" , Sebastian Andrzej Siewior Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" --=-=-= Content-Type: text/plain On Mon Oct 07 2024, Maciej Fijalkowski wrote: >> +bool igb_xmit_zc(struct igb_ring *tx_ring) >> +{ >> + unsigned int budget = igb_desc_unused(tx_ring); >> + struct xsk_buff_pool *pool = tx_ring->xsk_pool; >> + u32 cmd_type, olinfo_status, nb_pkts, i = 0; >> + struct xdp_desc *descs = pool->tx_descs; >> + union e1000_adv_tx_desc *tx_desc = NULL; >> + struct igb_tx_buffer *tx_buffer_info; >> + unsigned int total_bytes = 0; >> + dma_addr_t dma; >> + >> + if (!netif_carrier_ok(tx_ring->netdev)) >> + return true; >> + >> + if (test_bit(IGB_RING_FLAG_TX_DISABLED, &tx_ring->flags)) >> + return true; >> + >> + nb_pkts = xsk_tx_peek_release_desc_batch(pool, budget); >> + if (!nb_pkts) >> + return true; >> + >> + while (nb_pkts-- > 0) { >> + dma = xsk_buff_raw_get_dma(pool, descs[i].addr); >> + xsk_buff_raw_dma_sync_for_device(pool, dma, descs[i].len); >> + >> + tx_buffer_info = &tx_ring->tx_buffer_info[tx_ring->next_to_use]; >> + tx_buffer_info->bytecount = descs[i].len; >> + tx_buffer_info->type = IGB_TYPE_XSK; >> + tx_buffer_info->xdpf = NULL; >> + tx_buffer_info->gso_segs = 1; >> + tx_buffer_info->time_stamp = jiffies; >> + >> + tx_desc = IGB_TX_DESC(tx_ring, tx_ring->next_to_use); >> + tx_desc->read.buffer_addr = cpu_to_le64(dma); >> + >> + /* put descriptor type bits */ >> + cmd_type = E1000_ADVTXD_DTYP_DATA | E1000_ADVTXD_DCMD_DEXT | >> + E1000_ADVTXD_DCMD_IFCS; >> + olinfo_status = descs[i].len << E1000_ADVTXD_PAYLEN_SHIFT; >> + >> + cmd_type |= descs[i].len | IGB_TXD_DCMD; > > I forgot if we spoke about this but you still set RS bit for each produced > desc. Probably we agreed that since cleaning side is shared with 'slow' > path it would be too much of an effort to address that? Yes, and i believe we agreed that this needs to be addressed later, also for igc. > > Could you add a FIXME/TODO here so that we won't lose this from our > radars? Sure. Thanks, Kurt --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJHBAEBCgAxFiEEvLm/ssjDfdPf21mSwZPR8qpGc4IFAmcD5pETHGt1cnRAbGlu dXRyb25peC5kZQAKCRDBk9HyqkZzgsWdD/9yy16yaYLB4R5GpXSpQa/47OdSmlNU 38nE4hLd6bLrnhVvu5XEoglQyPn0jciYPw69b45JXi5y/Fe/Whegtw+jYC8/StB1 j3RPnd47yX5vvmwn6+413ybpiE+fk1yBKmhjhMj8VLjGb6ejFC7J6L65q0k4CvbZ jx1XfF+0b58+ZTyjSLAi3KJhjkMFfsmdosVm6Rqqqeui5ZICTXTrjKWizj/8rDR0 nv4DLRFgPdhYpD+xbjtDT5D7eBnkXI3kwznQHdVreimI2Niv5TOqc9vHa8RIbqHw rdFK3ihLAmcKm4vApDXdHnkAl3SQMdWQX5JNE+X4DL4Cd1DP2iMpsXYn9RNgtdw+ 2Ogmn9joZiVrtXAzt0aijkXzQFO8S7fo36EjJ8Wkx9mMHcUjHth1WJn3i/tB/1+5 Y/m0HxSvGGreoQ1ApECJJkToYcaWZwmyd66C7u2mg0jQSEipqtTavFNWyaBIq7OR REIlkZTfoRaa7mrcJXMEbNprJGFZwQ3VlXUii7ps02Yce35+QAZF5cB44IPue77O 5uWWIWKX2QGMyXdx2NTSWngo0iidI+VQfxBNKut5zIcBBEBxZDOjumJevWedPsrV 3SlQOW3uoopIdRbu18Cw3TZQoSR2/Nxn6zfWO3R+pyplWRH3gDWcrVW7Dewic+2v PYzAZE+2VlG36w== =b4js -----END PGP SIGNATURE----- --=-=-=--