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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63A62C3ABCC for ; Tue, 13 May 2025 12:57:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76A208D0002; Tue, 13 May 2025 08:57:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F2398D0001; Tue, 13 May 2025 08:57:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 56CA58D0002; Tue, 13 May 2025 08:57:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 358418D0001 for ; Tue, 13 May 2025 08:57:05 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1BED45C13D for ; Tue, 13 May 2025 12:57:06 +0000 (UTC) X-FDA: 83437884852.20.2AC1DDE Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by imf16.hostedemail.com (Postfix) with ESMTP id 14F29180002 for ; Tue, 13 May 2025 12:57:03 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WJpLJpuv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=asml.silence@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747141024; a=rsa-sha256; cv=none; b=Xi1g3zitt0W1frPVhvlp+eD/tHRdD/82RkfXblt6yNIMMo/Oq8PElVLtDUy4yTN847raj3 ylnljmgvW+cli0JDFYAEWqEkhPUF/8L737+dMaXlmzwiFphmtTh8HFuhhtfEkzHVZEwTgF Unir9T7BAM1uhLQJUxf4IwEVNvglGw4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WJpLJpuv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=asml.silence@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747141024; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=03yBcZd1C5Kf3vXNHOpqaX6GbesxUIZrlQDHf/MdZ7A=; b=bUSyTMSFF3WkrhtVkeX0yTSmP8fJghHZt+66mLHe/vihrw8WqImyJiEJODu0ePyBGW76t5 zFpRQqEIm62CrGJXVaFugsoEYAWkxx+IN1n0l32gAodUogDszmedwmu6nYHO03kWmxGeda aoCjvg4JgMtATo3MgvtWVjqsAmfEuYI= Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-43cfe63c592so58043335e9.2 for ; Tue, 13 May 2025 05:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747141022; x=1747745822; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=03yBcZd1C5Kf3vXNHOpqaX6GbesxUIZrlQDHf/MdZ7A=; b=WJpLJpuvptbUhv6IJK1X7xpcFTU/SNu9eQrkbNIEkLK2IdNnbCHpQiS8wCA74CYWTk FDzOy8lLveG/TC6Fu7f2Vne7xr06PFWyJlDkM5VpntfY55ayY1scP0+37ZBtdUP21l/E JEok+3lwTguCRwvC6063TLTqh9luS0DIuwf+HaVQ9+l52rJK09bNDNuwBjmYNNTl7lUw Xkb2mAd4NqGDvdrvFHAYj7Avt0WDe++4660JqGlFm4dmh0lwsZ5WSzDMkMqmi8fotdrl ipsQUvCVQcPLECNQ6pKsxDv7D3oan2jsBhn4KTXfC0G8Jzl9hU3zb2yyGV7ozKXDaGzC gceQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747141022; x=1747745822; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=03yBcZd1C5Kf3vXNHOpqaX6GbesxUIZrlQDHf/MdZ7A=; b=QZOTccvBCBXcy7AZQDdzdf7BTHOo8dGuxMxk2pOYe9v+/hcOL0e2DPCKWev51LCaFj zn5Yn3Q86Y3FrvcERCH2+mTMxSRrOd+2u4UQtmkrI0oqDnmyOOTDBdpzB0GSOKV2gv02 mrb5nyQHp7lR4rvsAhZFKQioKnXEH28TSMsxThtFZmFUkW2USHO/tJ/oBj1Y2lPyjMcD 92rcaKoepKeZtlUztlwcG6MjNVbRXmItveErahUfsyyiclGKC/8Vg8c406vMej5beJ25 f1zugafS1Vt36oCaImS7A6dxt9MolDxyY4J8m2d5A35BUfJ+P5ywSgfA4c4YvtR2GZlL lKKw== X-Forwarded-Encrypted: i=1; AJvYcCVoHzTGc4pvu95SdKoTMYJlNFQaU2gUUrxIhzECNILiHtzto8TVwxtSuq7kk9Jt0K9+uky3DEfp6Q==@kvack.org X-Gm-Message-State: AOJu0YxMkBX0oPgoJZVOfcJmtKg5Scs1uem7HccZTo+3XMhPFbyQY09K wCagy9OorpY8x2gEnmsWJ8kyV0fOYYZsCm8xuXlL5xBwZMplIEPE X-Gm-Gg: ASbGncsdinpd+UIvO3bgZtx8XgvbOsKgzzGjRMzwFYH4DiJgDOqJak2e6TFs9V6X1ZJ F61+Bzzfd50rj+kdF20b+Pl4MKoHhtc5TZ5mEJhyHrC1K1s+/U5dTzFcqjD78/3Wab6i21mvP9a qPqHd/Nw/gBLKCTbPkNDPL5ZxAXcm4opV7+P82FAKB6NmpykF7+9LP9vz4QSJtj1kvc7Z53cG4q 6rXm56RF6MZh3VdsEZjjHeEJ5a5Tb4iy9YAgTPbbV6pEpXgOfn4C2r72i7LUb61FVAUFshyaliI l98OlE4FnKzFEjWANiL+dhaFt8zAqdfrR4ZMxyXgQm4+QZUK0a0IYDDjsxSFg4vNENCAdWte X-Google-Smtp-Source: AGHT+IHZL9X1s2X9oNq/syLNUtLSYZBACUE3MU9l1yQ7kT7pQZhyTfvikRP2Kz0THW0u7ZtrcCNjbw== X-Received: by 2002:a05:600c:4454:b0:43d:83a:417d with SMTP id 5b1f17b1804b1-442d6d44a31mr173268525e9.12.1747141022101; Tue, 13 May 2025 05:57:02 -0700 (PDT) Received: from [192.168.8.100] ([148.252.146.237]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a1f57ddde0sm16465597f8f.14.2025.05.13.05.57.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 May 2025 05:57:01 -0700 (PDT) Message-ID: Date: Tue, 13 May 2025 13:58:10 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 01/19] netmem: rename struct net_iov to struct netmem_desc To: Byungchul Park , Mina Almasry Cc: willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, ast@kernel.org, daniel@iogearbox.net, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, edumazet@google.com, pabeni@redhat.com, vishal.moola@gmail.com References: <20250509115126.63190-1-byungchul@sk.com> <20250509115126.63190-2-byungchul@sk.com> <20250512132939.GF45370@system.software.com> <20250513020007.GB577@system.software.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: <20250513020007.GB577@system.software.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 14F29180002 X-Stat-Signature: f6p1m939xjem8rucs3moqpz67c4xgbjm X-HE-Tag: 1747141023-537343 X-HE-Meta: U2FsdGVkX1+wAldw0iJjE+s8ZhmVy690vzUbyD7+90VwASCIFhOVpcJyhc0wt/STXEHey0NWlihGodq733ou/Bpi137t1/9QZV1KZ3iGRbn/kpDr8/P6zLT1N2MNFmREOAxW57dJL8bKsTt4gxFQk4GOHEPloXOQsjGvrD46F8ilNIwYPw1sw7Qum5ADpGzqwnISgN16f2IdxZYVXwmbZc6sElKlOGJo4FFsFWromVbryCX/iYCiCWll425Xt6GzURjc5t27u2ovOQIlEQdNtMveiJCibhXKpt7W6ykxBLFdes8ZoQfIMGowy74szOtHvuz89eGrBp0/ysjiOGng2u9wr/YSQFJGUHj47wkI0RDKmH3SFLIXAkEyCNb5r6m/Op4trr7yJQ+SdoPL/pYnfnCDd7rNXfrh5B+/N+ssQRdat4S6k9V1aiG3v9qAvue6byJauItJZZSVYrUrSErE57+xwj0yjM1B91XbX7gC8w8qgs19O/K5em8V3a6ZFZvd4lEgo6z1IdXh3AomRTTRyuFoLkKzhc+/7ig0bsx6cJBE2+gS9+KC6FGpmydQBz52FC6BHyy9L0UrG4u5fl4NAeK/G9FnUkFqXGJYLvmYfYtjJpROYWkAg12FOr7eGdc7QUAvFHZRNVccSriHfHN7GgS7l1445iMPPIf5UTCBCZyE6w/QwJKSQOs6gpRUpbkVOKbplESH2d++P5ScTYs0YeJ1LD3Z5WdoBtf2U+mQDvJoM8wxqFB+vqV+rw/NKvdmGNJ0FgReq7jz4jIvjkVWfDgl8pFIM5vdzsoZMKtIUhitQ/jodXpdtERnkB+5z9NpjBAwk7iXXcbeHSzE6Oprp1m9qmrpY6vp/J7Lr2V44xKr4Xt2ORUofbx6U2GTjIiy4KEhJ3nI/YOFqfCwpIqCAgiQvfEb2vV6c+3tdcHXXmaM1f9Bq2ocEx989pnlkisAtaB9tepCwPo1dCaqTi6 mI8xv/je j/7ORGItkW3zOvxAvCpBCH6yCUMyJNGyvA4xywJ8KOXA87TxiibSKgYp1G3E/Xq4Rj8cTiUB5xpEwqXifSOrINyCrlOk8AWgT6bEB1HplRx6KBESrTWVO/d6cpEgy5rF2vvgCDldGwGXFHyny+fxyD2V6QFSNZN0Z2d5s7XexuMwnjJHXz3yF3sV3TuPUNBjYzLtXWDlAFpiAehY4UTbbxLpkH+es81c8UbJSIeR/gnFy7C3td65i6VIcSZzoTEQjb4/h2T7dBlC4QwS4f2ZRNjOGRL4rH3rhzI2BUSIT4rv+9oFwWwtzScT4zPTrARIWWLcUdYaOQyGqQbsRZ5XKxxs+3mgWffL83xgovOUYQ2D/ny2aqu28d2nBqKvtTkTMfIuRChKZyYYqB5um7LKiQLdogUac2agj9mCCZ62l+hBezefBMNGT9ym2yyCtVqLqj0MAFP775GfLllt+kS0/7XrO4TFcuBDJS2mLDLga9g9d6oY/Uzi4iiri8YkEVlMxRQCEPibcg2zavUMPuuUjIe9kHtgEuP3Zb9Z3hTq0Qs9KxDXRPQjnr4/iilSgkYWj+lso/YsaruG2X4QhtDdYBCZI0P95a3wR0cayD9+H1qWBG2kFMI72w41mXMe5MxcLuZaAHNSMfjj8wgY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 5/13/25 03:00, Byungchul Park wrote: > On Mon, May 12, 2025 at 12:14:13PM -0700, Mina Almasry wrote: >> On Mon, May 12, 2025 at 6:29 AM Byungchul Park wrote: >>> >>> On Mon, May 12, 2025 at 02:11:13PM +0100, Pavel Begunkov wrote: >>>> On 5/9/25 12:51, Byungchul Park wrote: >>>>> To simplify struct page, the page pool members of struct page should be >>>>> moved to other, allowing these members to be removed from struct page. >>>>> >>>>> Reuse struct net_iov for also system memory, that already mirrored the >>>>> page pool members. >>>>> >>>>> Signed-off-by: Byungchul Park >>>>> --- >>>>> include/linux/skbuff.h | 4 +-- >>>>> include/net/netmem.h | 20 ++++++------ >>>>> include/net/page_pool/memory_provider.h | 6 ++-- >>>>> io_uring/zcrx.c | 42 ++++++++++++------------- >>>> >>>> You're unnecessarily complicating it for yourself. It'll certainly >>>> conflict with changes in the io_uring tree, and hence it can't >>>> be taken normally through the net tree. >>>> >>>> Why are you renaming it in the first place? If there are good >>> >>> It's because the struct should be used for not only io vetor things but >>> also system memory. Current network code uses struct page as system >>> memory descriptor but struct page fields for page pool will be gone. >>> >>> So I had to reuse struct net_iov and I thought renaming it made more >>> sense. It'd be welcome if you have better idea. >>> >> >> As I said in another thread, struct page should not embed struct > > I don't understand here. Can you explain more? Do you mean do not use > place holder? I assume this: struct netmem_desc { ... }; struct net_iov { netmem_desc desc; }; struct page { union { // eventually will go away netmem_desc desc; ... }; }; And to avoid conflicts with io_uring, you can send something like the following to the net tree, and finish the io_uring conversion later. struct net_iov { struct_group_tagged(netmem_desc, desc, ... ); }; -- Pavel Begunkov