[{"id":3682740,"web_url":"http://patchwork.ozlabs.org/comment/3682740/","msgid":"<eb6f6dbe-6d77-46cb-8abe-25d959fbf36c@molgen.mpg.de>","list_archive_url":null,"date":"2026-04-27T14:20:42","subject":"Re: [Intel-wired-lan] [PATCH iwl-next v2] e1000e: Avoid DMA\n re-mapping on RX copybreak","submitter":{"id":70275,"url":"http://patchwork.ozlabs.org/api/people/70275/","name":"Paul Menzel","email":"pmenzel@molgen.mpg.de"},"content":"Dear Matt,\n\n\nThank you for your patch.\n\nAm 27.04.26 um 16:12 schrieb Matt Vollrath:\n> This patch factors out DMA re-mapping for skbs which were recycled in\n> the RX path due to copybreak or errors. There is only one path out of\n> the e1000_clean_rx_irq() loop where the skb is consumed and DMA needs\n> to be re-mapped, so don't unmap it before checking the conditions.\n> \n> The buffer allocation loop is adjusted to not assume that DMA is\n> unmapped, handling mapping errors gracefully.\n> \n> On systems with IOMMU enabled, the cost of re-mapping DMA is greater\n> than the cost of copying data out of the ring buffer. When I use this\n> patch and configure e1000e with copybreak=2048, my system with IOMMU\n> completes RX twice as fast under load.\n\nIt’d be great if you could document the benchmark, and described your \nsystem and shared the numbers.\n\n> The kludge of unconditional unmapping has existed since this driver was\n> introduced in 2007, inherited from the e1000 driver which has since\n> factored it out. IOMMU tech was new at the time.\n\nPlease share the commit factoring it out.\n\nAlso, what about systems where the IOMMU is disabled. (I think that is \npossible.)\n\n> Tested on an I218-V.\n> \n> Assisted-by: Claude:claude-4-7-opus\n> Signed-off-by: Matt Vollrath <tactii@gmail.com>\n> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\n> ---\n> v2:\n> * proofread description with Aleksandr\n> ---\n>   drivers/net/ethernet/intel/e1000e/netdev.c | 34 +++++++++++++++-------\n>   1 file changed, 23 insertions(+), 11 deletions(-)\n> \n> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\n> index 9befdacd6730..b1d6119171df 100644\n> --- a/drivers/net/ethernet/intel/e1000e/netdev.c\n> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n> @@ -663,6 +663,8 @@ static void e1000_alloc_rx_buffers(struct e1000_ring *rx_ring,\n>   \t\tskb = buffer_info->skb;\n>   \t\tif (skb) {\n>   \t\t\tskb_trim(skb, 0);\n> +\t\t\tif (likely(buffer_info->dma))\n> +\t\t\t\tgoto write_desc;\n>   \t\t\tgoto map_skb;\n>   \t\t}\n>   \n> @@ -680,10 +682,12 @@ static void e1000_alloc_rx_buffers(struct e1000_ring *rx_ring,\n>   \t\t\t\t\t\t  DMA_FROM_DEVICE);\n>   \t\tif (dma_mapping_error(&pdev->dev, buffer_info->dma)) {\n>   \t\t\tdev_err(&pdev->dev, \"Rx DMA map failed\\n\");\n> +\t\t\tbuffer_info->dma = 0;\n>   \t\t\tadapter->rx_dma_failed++;\n>   \t\t\tbreak;\n>   \t\t}\n>   \n> +write_desc:\n>   \t\trx_desc = E1000_RX_DESC_EXT(*rx_ring, i);\n>   \t\trx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma);\n>   \n> @@ -941,7 +945,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>   \t\tdma_rmb();\t/* read descriptor and rx_buffer_info after status DD */\n>   \n>   \t\tskb = buffer_info->skb;\n> -\t\tbuffer_info->skb = NULL;\n>   \n>   \t\tprefetch(skb->data - NET_IP_ALIGN);\n>   \n> @@ -955,9 +958,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>   \n>   \t\tcleaned = true;\n>   \t\tcleaned_count++;\n> -\t\tdma_unmap_single(&pdev->dev, buffer_info->dma,\n> -\t\t\t\t adapter->rx_buffer_len, DMA_FROM_DEVICE);\n> -\t\tbuffer_info->dma = 0;\n>   \n>   \t\tlength = le16_to_cpu(rx_desc->wb.upper.length);\n>   \n> @@ -973,8 +973,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>   \t\tif (adapter->flags2 & FLAG2_IS_DISCARDING) {\n>   \t\t\t/* All receives must fit into a single buffer */\n>   \t\t\te_dbg(\"Receive packet consumed multiple buffers\\n\");\n> -\t\t\t/* recycle */\n> -\t\t\tbuffer_info->skb = skb;\n>   \t\t\tif (staterr & E1000_RXD_STAT_EOP)\n>   \t\t\t\tadapter->flags2 &= ~FLAG2_IS_DISCARDING;\n>   \t\t\tgoto next_desc;\n> @@ -982,8 +980,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>   \n>   \t\tif (unlikely((staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) &&\n>   \t\t\t     !(netdev->features & NETIF_F_RXALL))) {\n> -\t\t\t/* recycle */\n> -\t\t\tbuffer_info->skb = skb;\n>   \t\t\tgoto next_desc;\n>   \t\t}\n>   \n> @@ -1010,19 +1006,35 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>   \t\t\tstruct sk_buff *new_skb =\n>   \t\t\t\tnapi_alloc_skb(&adapter->napi, length);\n>   \t\t\tif (new_skb) {\n> +\t\t\t\tdma_sync_single_for_cpu(&pdev->dev,\n> +\t\t\t\t\t\t\tbuffer_info->dma,\n> +\t\t\t\t\t\t\tadapter->rx_buffer_len,\n> +\t\t\t\t\t\t\tDMA_FROM_DEVICE);\n>   \t\t\t\tskb_copy_to_linear_data_offset(new_skb,\n>   \t\t\t\t\t\t\t       -NET_IP_ALIGN,\n>   \t\t\t\t\t\t\t       (skb->data -\n>   \t\t\t\t\t\t\t\tNET_IP_ALIGN),\n>   \t\t\t\t\t\t\t       (length +\n>   \t\t\t\t\t\t\t\tNET_IP_ALIGN));\n> -\t\t\t\t/* save the skb in buffer_info as good */\n> -\t\t\t\tbuffer_info->skb = skb;\n> +\t\t\t\tdma_sync_single_for_device(&pdev->dev,\n> +\t\t\t\t\t\t\t   buffer_info->dma,\n> +\t\t\t\t\t\t\t   adapter->rx_buffer_len,\n> +\t\t\t\t\t\t\t   DMA_FROM_DEVICE);\n>   \t\t\t\tskb = new_skb;\n>   \t\t\t}\n>   \t\t\t/* else just continue with the old one */\n>   \t\t}\n> -\t\t/* end copybreak code */\n> +\n> +\t\t/* If skb was not replaced by copybreak, we are consuming\n> +\t\t * the original buffer and must release the DMA mapping.\n> +\t\t */\n> +\t\tif (skb == buffer_info->skb) {\n> +\t\t\tbuffer_info->skb = NULL;\n> +\t\t\tdma_unmap_single(&pdev->dev, buffer_info->dma,\n> +\t\t\t\t\t adapter->rx_buffer_len,\n> +\t\t\t\t\t DMA_FROM_DEVICE);\n> +\t\t\tbuffer_info->dma = 0;\n> +\t\t}\n>   \t\tskb_put(skb, length);\n>   \n>   \t\t/* Receive Checksum Offload */\n\n\nKind regards,\n\nPaul","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=b9Bz0J6X;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 4g45Ml6Lhgz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 00:21:05 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 523F8856EA;\n\tMon, 27 Apr 2026 14:21:03 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id McVO1oZ_vGqn; Mon, 27 Apr 2026 14:21:02 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id A9BB0856EB;\n\tMon, 27 Apr 2026 14:21:02 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id 03A382DF\n for <intel-wired-lan@lists.osuosl.org>; Mon, 27 Apr 2026 14:21:01 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id DE0E942B17\n for <intel-wired-lan@lists.osuosl.org>; Mon, 27 Apr 2026 14:21:00 +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 RxmJtl20f4sD for <intel-wired-lan@lists.osuosl.org>;\n Mon, 27 Apr 2026 14:21:00 +0000 (UTC)","from mx3.molgen.mpg.de (mx3.molgen.mpg.de [141.14.17.11])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 1777D42B14\n for <intel-wired-lan@osuosl.org>; Mon, 27 Apr 2026 14:20:58 +0000 (UTC)","from [141.14.220.42] (g42.guest.molgen.mpg.de [141.14.220.42])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested) (Authenticated sender: pmenzel)\n by mx.molgen.mpg.de (Postfix) with ESMTPSA id DE5F94C2C37D45;\n Mon, 27 Apr 2026 16:20:42 +0200 (CEST)"],"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 smtp1.osuosl.org A9BB0856EB","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 1777D42B14"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777299662;\n\tbh=55q/EuZy9fgWNTeQT/CdEjWjIme6/LO9q84OXFz2Ayo=;\n\th=Date:To:Cc:References:From:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=b9Bz0J6XPtqy2zgDUp1ylSS7RFO4xJvojn/3qjqEsm3AARAFazxBigEjdS5j789/8\n\t 2A30XyScgTwEtxBvIA3zhzn7xz+iggeEUcHVex7Nv/YNEH1mvyToqVvhLeT3cjfSvc\n\t pNwis9r06bWOhBCd0RnTfkcGoRO29e9gUxb9fqZxTGJkCD5o4VlTnPWiYRH8BFQqg5\n\t /THuEIqGT/EaEzIKoVB9uJMKa79HXUn5+PDGFunVfIvPl1tc8xykoy/MKpOWs5RSYl\n\t T5dOuLmIWIBaoJP8SXf++t3lZ3mKbm4CQ36NvsaJFy8N068XvNUzDJ3szrwK85WJ75\n\t P0mImZ81C23vA==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=141.14.17.11;\n helo=mx3.molgen.mpg.de; envelope-from=pmenzel@molgen.mpg.de;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 1777D42B14","Message-ID":"<eb6f6dbe-6d77-46cb-8abe-25d959fbf36c@molgen.mpg.de>","Date":"Mon, 27 Apr 2026 16:20:42 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Matt Vollrath <tactii@gmail.com>","Cc":"intel-wired-lan@osuosl.org,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>","References":"<20260427141227.19965-1-tactii@gmail.com>","Content-Language":"en-US","From":"Paul Menzel <pmenzel@molgen.mpg.de>","In-Reply-To":"<20260427141227.19965-1-tactii@gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-Mailman-Original-Authentication-Results":"smtp4.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=molgen.mpg.de","Subject":"Re: [Intel-wired-lan] [PATCH iwl-next v2] e1000e: Avoid DMA\n re-mapping on RX copybreak","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>"}},{"id":3682766,"web_url":"http://patchwork.ozlabs.org/comment/3682766/","msgid":"<dcd188ed-4808-44a6-a1cb-f0460066b06a@gmail.com>","list_archive_url":null,"date":"2026-04-27T15:03:15","subject":"Re: [Intel-wired-lan] [PATCH iwl-next v2] e1000e: Avoid DMA\n re-mapping on RX copybreak","submitter":{"id":92679,"url":"http://patchwork.ozlabs.org/api/people/92679/","name":"Matt Vollrath","email":"tactii@gmail.com"},"content":"On 4/27/26 10:20, Paul Menzel wrote:\n> Dear Matt,\n> \n> \n> Thank you for your patch.\n> \n> Am 27.04.26 um 16:12 schrieb Matt Vollrath:\n>> This patch factors out DMA re-mapping for skbs which were recycled in\n>> the RX path due to copybreak or errors. There is only one path out of\n>> the e1000_clean_rx_irq() loop where the skb is consumed and DMA needs\n>> to be re-mapped, so don't unmap it before checking the conditions.\n>>\n>> The buffer allocation loop is adjusted to not assume that DMA is\n>> unmapped, handling mapping errors gracefully.\n>>\n>> On systems with IOMMU enabled, the cost of re-mapping DMA is greater\n>> than the cost of copying data out of the ring buffer. When I use this\n>> patch and configure e1000e with copybreak=2048, my system with IOMMU\n>> completes RX twice as fast under load.\n> \n> It’d be great if you could document the benchmark, and described your system and shared the numbers.\n> \n>> The kludge of unconditional unmapping has existed since this driver was\n>> introduced in 2007, inherited from the e1000 driver which has since\n>> factored it out. IOMMU tech was new at the time.\n> \n> Please share the commit factoring it out.\n> \n> Also, what about systems where the IOMMU is disabled. (I think that is possible.)\n\nThanks Paul, I'll put in some benchmark details and cite the history.\n\nAt a glance, the performance impact on IOMMU-disabled or passthrough\nwas marginal.\n\nI'll also wait until tomorrow morning to post v3, jumped the gun this\nmorning. No more revisions before breakfast!\n\n> \n>> Tested on an I218-V.\n>>\n>> Assisted-by: Claude:claude-4-7-opus\n>> Signed-off-by: Matt Vollrath <tactii@gmail.com>\n>> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\n>> ---\n>> v2:\n>> * proofread description with Aleksandr\n>> ---\n>>   drivers/net/ethernet/intel/e1000e/netdev.c | 34 +++++++++++++++-------\n>>   1 file changed, 23 insertions(+), 11 deletions(-)\n>>\n>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\n>> index 9befdacd6730..b1d6119171df 100644\n>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c\n>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n>> @@ -663,6 +663,8 @@ static void e1000_alloc_rx_buffers(struct e1000_ring *rx_ring,\n>>           skb = buffer_info->skb;\n>>           if (skb) {\n>>               skb_trim(skb, 0);\n>> +            if (likely(buffer_info->dma))\n>> +                goto write_desc;\n>>               goto map_skb;\n>>           }\n>> @@ -680,10 +682,12 @@ static void e1000_alloc_rx_buffers(struct e1000_ring *rx_ring,\n>>                             DMA_FROM_DEVICE);\n>>           if (dma_mapping_error(&pdev->dev, buffer_info->dma)) {\n>>               dev_err(&pdev->dev, \"Rx DMA map failed\\n\");\n>> +            buffer_info->dma = 0;\n>>               adapter->rx_dma_failed++;\n>>               break;\n>>           }\n>> +write_desc:\n>>           rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);\n>>           rx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma);\n>> @@ -941,7 +945,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>>           dma_rmb();    /* read descriptor and rx_buffer_info after status DD */\n>>           skb = buffer_info->skb;\n>> -        buffer_info->skb = NULL;\n>>           prefetch(skb->data - NET_IP_ALIGN);\n>> @@ -955,9 +958,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>>           cleaned = true;\n>>           cleaned_count++;\n>> -        dma_unmap_single(&pdev->dev, buffer_info->dma,\n>> -                 adapter->rx_buffer_len, DMA_FROM_DEVICE);\n>> -        buffer_info->dma = 0;\n>>           length = le16_to_cpu(rx_desc->wb.upper.length);\n>> @@ -973,8 +973,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>>           if (adapter->flags2 & FLAG2_IS_DISCARDING) {\n>>               /* All receives must fit into a single buffer */\n>>               e_dbg(\"Receive packet consumed multiple buffers\\n\");\n>> -            /* recycle */\n>> -            buffer_info->skb = skb;\n>>               if (staterr & E1000_RXD_STAT_EOP)\n>>                   adapter->flags2 &= ~FLAG2_IS_DISCARDING;\n>>               goto next_desc;\n>> @@ -982,8 +980,6 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>>           if (unlikely((staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) &&\n>>                    !(netdev->features & NETIF_F_RXALL))) {\n>> -            /* recycle */\n>> -            buffer_info->skb = skb;\n>>               goto next_desc;\n>>           }\n>> @@ -1010,19 +1006,35 @@ static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,\n>>               struct sk_buff *new_skb =\n>>                   napi_alloc_skb(&adapter->napi, length);\n>>               if (new_skb) {\n>> +                dma_sync_single_for_cpu(&pdev->dev,\n>> +                            buffer_info->dma,\n>> +                            adapter->rx_buffer_len,\n>> +                            DMA_FROM_DEVICE);\n>>                   skb_copy_to_linear_data_offset(new_skb,\n>>                                      -NET_IP_ALIGN,\n>>                                      (skb->data -\n>>                                   NET_IP_ALIGN),\n>>                                      (length +\n>>                                   NET_IP_ALIGN));\n>> -                /* save the skb in buffer_info as good */\n>> -                buffer_info->skb = skb;\n>> +                dma_sync_single_for_device(&pdev->dev,\n>> +                               buffer_info->dma,\n>> +                               adapter->rx_buffer_len,\n>> +                               DMA_FROM_DEVICE);\n>>                   skb = new_skb;\n>>               }\n>>               /* else just continue with the old one */\n>>           }\n>> -        /* end copybreak code */\n>> +\n>> +        /* If skb was not replaced by copybreak, we are consuming\n>> +         * the original buffer and must release the DMA mapping.\n>> +         */\n>> +        if (skb == buffer_info->skb) {\n>> +            buffer_info->skb = NULL;\n>> +            dma_unmap_single(&pdev->dev, buffer_info->dma,\n>> +                     adapter->rx_buffer_len,\n>> +                     DMA_FROM_DEVICE);\n>> +            buffer_info->dma = 0;\n>> +        }\n>>           skb_put(skb, length);\n>>           /* Receive Checksum Offload */\n> \n> \n> Kind regards,\n> \n> Paul","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=PBiKpLLP;\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 4g46Jh1221z1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 01:03:31 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 0B65A4031C;\n\tMon, 27 Apr 2026 15:03:30 +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 Adxrghh7AsYj; Mon, 27 Apr 2026 15:03:25 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 7F2FA40316;\n\tMon, 27 Apr 2026 15:03:25 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id 62FEB1B8\n for <intel-wired-lan@lists.osuosl.org>; Mon, 27 Apr 2026 15:03:24 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id 4510780E15\n for <intel-wired-lan@lists.osuosl.org>; Mon, 27 Apr 2026 15:03:24 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id NeRa8Z2zzgaV for <intel-wired-lan@lists.osuosl.org>;\n Mon, 27 Apr 2026 15:03:19 +0000 (UTC)","from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com\n [IPv6:2607:f8b0:4864:20::1129])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 8513680E0D\n for <intel-wired-lan@osuosl.org>; Mon, 27 Apr 2026 15:03:19 +0000 (UTC)","by mail-yw1-x1129.google.com with SMTP id\n 00721157ae682-7a469383e0bso81683277b3.2\n for <intel-wired-lan@osuosl.org>; Mon, 27 Apr 2026 08:03:19 -0700 (PDT)","from ?IPV6:2600:6c5c:6b00:ba4:9e82:4279:45e0:a728?\n ([2600:6c5c:6b00:ba4:9e82:4279:45e0:a728])\n by smtp.gmail.com with ESMTPSA id\n 00721157ae682-7baf5015fcasm94919877b3.24.2026.04.27.08.03.16\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Mon, 27 Apr 2026 08:03:17 -0700 (PDT)"],"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 7F2FA40316","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8513680E0D"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1777302205;\n\tbh=sgDDR3RT0i7W5RIjv/G2UWsqfESThYwqnRRVM1oJhgE=;\n\th=Date:To:Cc:References:From:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=PBiKpLLPJAD4SQ0aDKO27p0OJjZOoxq+ScS5nK4Uu5j/K+oNzp5iY3MysVELd0FRS\n\t S8OlVZPm5KWr4pRN8p9bACClB1savdm8ex+aTdvDekQunFa5YhT/O9nfJ2TDF/YGk2\n\t +BegNedd8B9khqoWoOpZXVDLfVVNW74iy4cTr6j/ypL/oU1dAHqujhlc359jT7Xtx8\n\t +0B5fh3wqH3MeCXVUFKTpDJUzbBMslAHA7g2X4rxO2ks3lipS3rLXapsuUEmOUVIgR\n\t qNBE8ktSwYWNfSdo4W/bfzi89/+CxfexmkXvx/nb+2Op3B4U5AxkKXTv7rjoVzhGz6\n\t 05jqG9j6J/CCw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::1129; helo=mail-yw1-x1129.google.com;\n envelope-from=tactii@gmail.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 8513680E0D","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777302198; x=1777906998;\n h=content-transfer-encoding:in-reply-to:from:content-language\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=sgDDR3RT0i7W5RIjv/G2UWsqfESThYwqnRRVM1oJhgE=;\n b=omu4mWzH4h7kkHtgPMMObDiovDYQwy7Bxv2EN7w1OZhJ0AqecsuMuBU9XXjrYZFJTS\n ldCQSmk55g0Vmpm4K8Oh2GX4M2v/6F+xxWoHNr7xYO0QeXtm2sDs3pnQSHSGD+38CR9P\n Rvo8WnDVTaHkXC99mjZ3+kCn55MANQKtfOABKiSCI+tM3ModTqDrGoJbu7lnnJVvQ5dS\n YijI7sbrK3Hjgxxn9A0FUsANSN/jul1brnsmGCQSQuowPhiEmEj/NtrG43pAVuegdcqZ\n +ASHPPSdWW4yyIDMZAtaiWQpsWaViP/yh1C0h/obENytwQFRf0sm7cDZl4T3PeoDZDuV\n caKQ==","X-Gm-Message-State":"AOJu0YyVWwfRygljUt7k6UpgBzvldKivPFC3hqAMa8WEk1E0MYjL0ztP\n SaISArXXu+2pQxZeYbOZDBwanz4roPYSyG2duRu++uRoLpJNORVufbmE","X-Gm-Gg":"AeBDiesc0z5LwmvylELx9AtuVspDafQ9MV1TqkWBEZe2MgPCkUDfZ2zNksXt9JpRIzg\n jIH1t3E2fAEj0a5cq52Di5clXt2s2odmsVTwrAZCFdVkxJQCMASGkF3CzPq95qFRo+byHo2PbFu\n F1ib+dMeRn6pD5lUHB8Rb3Z2EpaOtqF/YX8gLoocgXS8VVWA9FGD96qBFnpF8TVZ0jXHqinJkT6\n Ft0dsJC0rufRJEvsjBJLT6YbZ9o3SUfoP9Y+gMznsYvSp+Fuih5GBZDQdKQO4C34ZJn/z4g1bG/\n D4zP+EkR59xWmtUCowQeZ9pEH51isfO5zWDG0MktiKEK5vnkoJrWBtVUgq6IsdqLgluKzOXtESq\n BBERQJSYi8BsZEgJvk/UBSkBcvPZT8YpDATbi9aCSlrfvXSWnnDZgdWc3n9gQyztIeGjJnSkzgO\n w1oD5GoJhJ377Hxjwkztn9GdlIo180hxGvNLnbt8rCx3pIaFEtQfKZ+xxc2Hg3GWRCkRRhDYO7z\n dQppw==","X-Received":"by 2002:a05:690c:348a:b0:7ba:f414:cd2d with SMTP id\n 00721157ae682-7baf414d25bmr324404017b3.50.1777302197642;\n Mon, 27 Apr 2026 08:03:17 -0700 (PDT)","Message-ID":"<dcd188ed-4808-44a6-a1cb-f0460066b06a@gmail.com>","Date":"Mon, 27 Apr 2026 11:03:15 -0400","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Paul Menzel <pmenzel@molgen.mpg.de>","Cc":"intel-wired-lan@osuosl.org,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>","References":"<20260427141227.19965-1-tactii@gmail.com>\n <eb6f6dbe-6d77-46cb-8abe-25d959fbf36c@molgen.mpg.de>","Content-Language":"en-US","From":"Matt Vollrath <tactii@gmail.com>","In-Reply-To":"<eb6f6dbe-6d77-46cb-8abe-25d959fbf36c@molgen.mpg.de>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777302198; x=1777906998; darn=osuosl.org;\n h=content-transfer-encoding:in-reply-to:from:content-language\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=sgDDR3RT0i7W5RIjv/G2UWsqfESThYwqnRRVM1oJhgE=;\n b=rthxpkjGikyKw2WUGUEaKl2hViNVUPNQxODhAoiuG/Je/oN1gZNNstWX05WuyM+M4o\n Tpq94mLq9DJkG+1JOXorLPcQjSlTo9/8mS/nG64hX/1hD/L8ua+RjRTRJ3WTyFIx5prW\n uWuCE1gtjHDWonRI3ONpJhwgjBL6Sbgoe8IdhrB+T56RzMoHPva5gES88ZUH+jEwHaHi\n HoHk2iflLyD40UM88ergUlepN5YSj1YSar9+Oww8niijtTHCJW17e0gCfK5YtWl6Xo7Y\n Li3YyqfaBhVlkGhOyYVYjwy5fuAYxOiqPKO1Jfe3XFNeuw432Dpuz6ONTpYQJh3GJ0Ah\n frOA==","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=gmail.com","smtp1.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=rthxpkjG"],"Subject":"Re: [Intel-wired-lan] [PATCH iwl-next v2] e1000e: Avoid DMA\n re-mapping on RX copybreak","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>"}}]