{"id":2233053,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2233053/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260505152923.1040589-1-aleksander.lobakin@intel.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/1.2/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505152923.1040589-1-aleksander.lobakin@intel.com>","list_archive_url":null,"date":"2026-05-05T15:29:18","name":"[iwl-next,v5,0/5] ice: add support for devmem/io_uring Rx and Tx","submitter":{"id":85827,"url":"http://patchwork.ozlabs.org/api/1.2/people/85827/?format=json","name":"Alexander Lobakin","email":"aleksander.lobakin@intel.com"},"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260505152923.1040589-1-aleksander.lobakin@intel.com/mbox/","series":[{"id":502856,"url":"http://patchwork.ozlabs.org/api/1.2/series/502856/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=502856","date":"2026-05-05T15:29:18","name":"ice: add support for devmem/io_uring Rx and Tx","version":5,"mbox":"http://patchwork.ozlabs.org/series/502856/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2233053/comments/","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=qg/FGd24;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g92XP6QYxz1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 01:30:43 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 7E77140AA7;\n\tTue,  5 May 2026 15:30:41 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id su_2fkTQ_beh; Tue,  5 May 2026 15:30:40 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 6861440A82;\n\tTue,  5 May 2026 15:30:40 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists1.osuosl.org (Postfix) with ESMTP id 91FBA280\n for <intel-wired-lan@lists.osuosl.org>; Tue,  5 May 2026 15:30:38 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 84030608B0\n for <intel-wired-lan@lists.osuosl.org>; Tue,  5 May 2026 15:30:38 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id t528Md3dO7F7 for <intel-wired-lan@lists.osuosl.org>;\n Tue,  5 May 2026 15:30:37 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.7])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 4DF85607CE\n for <intel-wired-lan@lists.osuosl.org>; Tue,  5 May 2026 15:30:36 +0000 (UTC)","from orviesa010.jf.intel.com ([10.64.159.150])\n by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 05 May 2026 08:30:36 -0700","from newjersey.igk.intel.com ([10.102.20.203])\n by orviesa010.jf.intel.com with ESMTP; 05 May 2026 08:30:33 -0700"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 6861440A82","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 4DF85607CE"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777995040;\n\tbh=w8LGlOBYIAvHI+P3ej113KoNEWAWWBE47MXU9sD9xGc=;\n\th=From:To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=qg/FGd24Ghml1OZLkKrdICigQ22QVP4A7EKii9dMyaCw7pLWXVZgmuqah1lEwF9UK\n\t DfoEamdnMXA7NdrJeccd7Mptf9YNl4qkqYCk7Eq+wxauy5fA0ChxokkNjkignZswcz\n\t hPqxubIuZYrr6tIAs9Y308xt+gZPe+dIdrwlOsqWfWLIs0N1MdOj4OgeAxvsfAfBKQ\n\t PRltxA4ZWQv2Ln1lwcIzfgeeh24WuRO2GP93A/+Qulxts7lBDqsIog7s/HMO6Yjdjn\n\t +Yx4FvzbOD5D+p4c897k0UIikQx21p2oFGfkw/i9aDepsFmQmiDgNvIST3Zl/hMcnA\n\t sXn+ZBZ1I4nfw==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.7;\n helo=mgamail.intel.com; envelope-from=aleksander.lobakin@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 4DF85607CE","X-CSE-ConnectionGUID":["rg+HbxYOTp6G03wxOVAXKA==","DgEFnLZkSteLllHdnnS9Yg=="],"X-CSE-MsgGUID":["WbxIwDG8QHmEadFbtgxuuQ==","QztnzmU6Smi7nhtc0Z+reQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11777\"; a=\"104316977\"","E=Sophos;i=\"6.23,217,1770624000\"; d=\"scan'208\";a=\"104316977\"","E=Sophos;i=\"6.23,217,1770624000\"; d=\"scan'208\";a=\"234971504\""],"X-ExtLoop1":"1","From":"Alexander Lobakin <aleksander.lobakin@intel.com>","To":"intel-wired-lan@lists.osuosl.org","Cc":"Alexander Lobakin <aleksander.lobakin@intel.com>,\n Tony Nguyen <anthony.l.nguyen@intel.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>,\n \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,\n Kohei Enju <kohei@enjuk.jp>, Jacob Keller <jacob.e.keller@intel.com>,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>,\n nxne.cnse.osdt.itp.upstreaming@intel.com, netdev@vger.kernel.org,\n linux-kernel@vger.kernel.org","Date":"Tue,  5 May 2026 17:29:18 +0200","Message-ID":"<20260505152923.1040589-1-aleksander.lobakin@intel.com>","X-Mailer":"git-send-email 2.54.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1777995037; x=1809531037;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=Ok+4ECv3s+pYujUHLo68Z1g1L6HzzFD6IgmwTokVWG0=;\n b=fw5Zm5p6F7P6VRdPkTcpI2d9OrMSx3RcU6TmW4BT22y8/qhqVXnCG2kx\n Sb1vuJSm1SR8Je3nO4+AhmEwzKrGKfSCrs3xJNdnnhLaWwtBeMyfcDUq1\n +iUFPzFom/m7UU0Ywym4HJvHKn+L2zhiDyjV/HJ5g+UtbFFM6BBEgJthI\n S1yd4qYjbTTx5VhRAHoJpfQwTSykQFZVzIaTlgouoo3qq30MRkvr7hCZZ\n VuXu48EUCcYDnoKSclfiHj6ZHkoU2BME+qalXmUcIoZug7myANY0dPx28\n y91ENYp5Fx2KaG4zkgiRI7X6G4XVhVGKMxxZ3U/Cxm6Z3b5mOwnTi2uOP\n A==;","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=fw5Zm5p6"],"Subject":"[Intel-wired-lan] [PATCH iwl-next v5 0/5] ice: add support for\n devmem/io_uring Rx and Tx","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"Now that ice uses libeth for managing Rx buffers and supports\nconfigurable header split, it's ready to get support for sending\nand receiving packets with unreadable (to the kernel) frags.\n\nExtend libeth just a little bit to allow creating PPs with custom\nmemory providers and make sure ice works correctly with the netdev\nops locking. Then add the full set of queue_mgmt_ops and don't\nunmap unreadable frags on Tx completion.\nNo perf regressions for the regular flows and no code duplication\nimplied.\n\nCredits to the fbnic developers, whose code helped me understand\nthe memory providers and queue_mgmt_ops logics and served as\na reference.\n\nAlexander Lobakin (5):\n  libeth: pass Rx queue index to PP when creating a fill queue\n  libeth: handle creating pools with unreadable buffers\n  ice: migrate to netdev ops lock\n  ice: implement Rx queue management ops\n  ice: add support for transmitting unreadable frags\n\n drivers/net/ethernet/intel/ice/ice_base.h    |   2 +\n drivers/net/ethernet/intel/ice/ice_lib.h     |  18 +-\n drivers/net/ethernet/intel/ice/ice_txrx.h    |   2 +\n drivers/net/ethernet/intel/idpf/idpf_txrx.h  |   2 +\n include/net/libeth/rx.h                      |   2 +\n include/net/libeth/tx.h                      |   2 +-\n drivers/net/ethernet/intel/iavf/iavf_txrx.c  |   1 +\n drivers/net/ethernet/intel/ice/ice_base.c    | 247 +++++++++++++++----\n drivers/net/ethernet/intel/ice/ice_dcb_lib.c |  15 +-\n drivers/net/ethernet/intel/ice/ice_eswitch.c |  26 +-\n drivers/net/ethernet/intel/ice/ice_lib.c     | 227 +++++++++++++----\n drivers/net/ethernet/intel/ice/ice_main.c    |  79 +++---\n drivers/net/ethernet/intel/ice/ice_sf_eth.c  |   4 +\n drivers/net/ethernet/intel/ice/ice_txrx.c    |  43 +++-\n drivers/net/ethernet/intel/ice/ice_xsk.c     |   4 +-\n drivers/net/ethernet/intel/idpf/idpf_txrx.c  |  13 +\n drivers/net/ethernet/intel/libeth/rx.c       |  43 ++++\n 17 files changed, 566 insertions(+), 164 deletions(-)\n\n---\nNote: apply to net-next, not Tony's next-queue (ready to be sent as\na PR).\n\nFrom v4[0]:\n* rebase on top of the latest net-next;\n* 3/5: fix the last [hopefully] missing netdev lock (E-Switch code,\n       Simon), rechecked with our internal Intel's Sashiko setup;\n* 3/5: pick fixes for .ndo_bpf() and safe mode from Kohei.\n\nFrom v3[1]:\n* rebase on top of recent Larysa's changes;\n* 3/5: fix the last locking inconsistencies (Jakub);\n* 3/5: pick a kdoc fix from Tony.\n\nFrom v2[2]:\n* rebase on top of net-next-7.0;\n* 3/5: fix [hopefully] all inconsistent locking (Jakub, Tony);\n* 4/5: pick a hotfix from Kohei.\n\nFrom v1[3]:\n* rebase on top of the latest next-queue;\n* fix a typo 'rxq_ixd' -> 'rxq_idx' (Tony).\n\nTesting hints:\n* regular Rx and Tx for regressions;\n* <kernel root>/tools/testing/selftests/drivers/net/hw/ contains\n  scripts for testing netmem Rx and Tx, namely devmem.py and\n  iou-zcrx.py (read the documentation first).\n\n[0] https://lore.kernel.org/intel-wired-lan/20260318163505.31765-1-aleksander.lobakin@intel.com\n[1] https://lore.kernel.org/intel-wired-lan/20260224174618.2780516-1-aleksander.lobakin@intel.com\n[2] https://lore.kernel.org/intel-wired-lan/20251204155133.2437621-1-aleksander.lobakin@intel.com\n[3] https://lore.kernel.org/intel-wired-lan/20251125173603.3834486-1-aleksander.lobakin@intel.com"}