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 98348C7EE30 for ; Fri, 27 Jun 2025 00:49:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C0C0D6B00B5; Thu, 26 Jun 2025 20:49:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BBC946B00B6; Thu, 26 Jun 2025 20:49:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD23F6B00B7; Thu, 26 Jun 2025 20:49:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9D0716B00B5 for ; Thu, 26 Jun 2025 20:49:10 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id AF975B5E03 for ; Fri, 27 Jun 2025 00:49:09 +0000 (UTC) X-FDA: 83599346418.26.8124D77 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf12.hostedemail.com (Postfix) with ESMTP id 2408B40009 for ; Fri, 27 Jun 2025 00:49:07 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=JhD6dYEI; spf=pass (imf12.hostedemail.com: domain of kuba@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=kuba@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750985348; a=rsa-sha256; cv=none; b=G5YzchlHqdhop4V1d0jJeNRd77b86iK0NxrBnMpIDUXUraagCDKbNoKHBZMUfnFcIfjA0W tjGuD9ys46duZ2T5114kLk/dkxeapgesXv8x41ATwKNF6FYQcK8A68ewJgEyJve4D8mWtT N0h/jyv5dWI8FwbAmeHIaBpc/WxrtM0= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=JhD6dYEI; spf=pass (imf12.hostedemail.com: domain of kuba@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=kuba@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750985348; 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=NnpL5DEctufHtEqelgykufa6cYNQzvElwRadvzaBrjE=; b=vh+yUvIfh7kHpUC0CspUV0m/xsscCulm/lErmj9LKQ4BL50rDvqc6AH5JRYmK6EQ0duQG8 99rYmIKqbQ3Ch9jOlQ9yaA4t+APXZoFIQhhIaEnOpSJYcxNVlWWDSQW77MwoPgwH0MYUjN mSxKkShkcbNeblKr78lRtKVe+dNsjao= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 6E7736112E; Fri, 27 Jun 2025 00:49:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90785C4CEEB; Fri, 27 Jun 2025 00:49:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750985347; bh=EpqjtPVGt04E7RcuSotMKejW6u3yq2ucjguads+7u2c=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=JhD6dYEItqr1kEqwbDypImWuwC6DkC//2HpSf/hgwxLYbnhR8EuQdDrRcs9QYZXpL NCOk1Ui6TH1oeylieGVA0AaZpYjG06vWKOUgNQYb5uPEjlAhA4GaIVVVh5MvTCgWbS PmG7wnTnV/4the3QfpV471XKmIZ33YZPjwtHfKr0QMean7TulHtheSS+nwRf/gMP0g VF0THNST7vk0sxscSP/ClnJp5iBAwWIGfVjP/PV/8anoSyJdkah3YyVbeuERLiNIRJ M1452yPuJMakT9SvZoHdVGPZV37wH7NBQp6QlZYsNsJ44lwYi+mpihmoggrA0c7Uie N+XC/kOPDkhFA== Date: Thu, 26 Jun 2025 17:49:04 -0700 From: Jakub Kicinski To: Byungchul Park Cc: willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, almasrymina@google.com, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, asml.silence@gmail.com, toke@redhat.com, tariqt@nvidia.com, edumazet@google.com, pabeni@redhat.com, saeedm@nvidia.com, leon@kernel.org, ast@kernel.org, daniel@iogearbox.net, david@redhat.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, horms@kernel.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, vishal.moola@gmail.com, hannes@cmpxchg.org, ziy@nvidia.com, jackmanb@google.com Subject: Re: [PATCH net-next v7 1/7] netmem: introduce struct netmem_desc mirroring struct page Message-ID: <20250626174904.4a6125c9@kernel.org> In-Reply-To: <20250625043350.7939-2-byungchul@sk.com> References: <20250625043350.7939-1-byungchul@sk.com> <20250625043350.7939-2-byungchul@sk.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Stat-Signature: s6u3f9ubd4uthbyg4c8gjofbnk5caih3 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 2408B40009 X-Rspam-User: X-HE-Tag: 1750985347-601266 X-HE-Meta: U2FsdGVkX1/aa909FN1rQHSFpY+3nPSv9TpwoglxtY+yyrFSqHrImR0KsNklimAV1T2iUzik0/utrC6wM5goTA1I1PhaF80EnQt2NThfufnM/x2u7M9gag68KetuqtWYDc2C6iVNPHel81ZaJGGizaPm9Zl/3x89WXmiyFwoC1HyxurPw+btg+kM+EG0YIo2fyliGfC3nIYW3NYGZEHz6HGkWOXLzpIK7u0HiD4E/M5SjOMd0+hqvWAMjWiiIkUS2WefgVktB7IGXTOr9/CEVQLLwQuABlyankhVSmeSbcbwmGHlaAXtg1UuDqXIe2n81Jp9xqpLu95VesEuf37t+a4AFu3td0SkK80tsrqo20SrGgM6IA3CgqWGcmkF0fUgMfEc/LtvcdPIdwCR1jT0iuEwOUGF4uzi1IpGjBPYkdTSkq6WtwwiUiBlQNmK6gZGdiMyqg4Gz78ikbUyBpGjBheWZHiPQAhSeiZLk6qnDShVgxyXXGt1/UKIUAqe/MW8PoLB2caJpfoEeMHKwK6Vmf8RFvRwafm+e1lPi8RkAKurH6cH3bqtP/chIlxU8ef3dxr9So/2yYDAKsy0rmMU7Lx6jSYmm5G8qLjt9az5iBZLrKr5Rh7ZSFaoYgtEN/6u+zQmq3SfKO9GWc39G1RMCBhciLethk6VTv88Nm7kgCpfn5wm20EtQ75RrToXFFbYlntSsggzFoysi7ulz/op8SIEMfpHfbpfQQVZEM2zRPHgKUDK/5XmVoEM+887gHr4ECIo44lEHiS2Bmstqtw4I9JY/4/qpXPmPJ09H8PRPnCVrifZMq/2Pg3aHEG1JtnHe9ZVyrzBu9rxCOEQ7PvKPZrdS+NN73yM9JDW6svM8rou5GV7mD21rVJ66oQFB4gTPZdD6c7p4HLJAiINoe5pWg7AIUIvT8QMQW6M14q7siB6ZA7Qco1zyTNx5TgxiCJ+iL+V074Y0QlcO5ocbEy g5IKbQqw EUTUF++DFMsEsIIESziviIk4VTecZdpMjBQ4ZkWgEdQjfY8pti0R4UJrPluu37Qeze2eLXtTte7D4TRzpSqGtGD6ydeFRDOn5kIl394QVxWE4v+ldChxvxuUXaq6FzCsYzx8CmItfJOAi8KaG1uSJ4TrvT9B+kghyIEExSIoPFIuRLXf6n1dl0N82Y+UFTObje7OUB1TbkIYhloymGeFhVBcHEFRENleCKi49h8wwaHhEtAHUeer41j/SujKe7j+wz9ZaAerGIh5rykZuN6M62ND3dRFQBQ9Ryo0U5FZyO0ZK9bm3mw6nTBe89syV40URAIfOf63/RwL6DSlzUgIFRBNRvO9nQ6fcXhgam3cCtU7QEZhPZqXfsKroZAcY9qllo/IY 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 Wed, 25 Jun 2025 13:33:44 +0900 Byungchul Park wrote: > +/* A memory descriptor representing abstract networking I/O vectors, > + * generally for non-pages memory that doesn't have its corresponding > + * struct page and needs to be explicitly allocated through slab. I still don't get what your final object set is going to be. We have - CPU-readable buffers (struct page) - un-readable buffers (struct net_iov) - abstract reference which can be a pointer to either of the above two (bitwise netmem_ref) You say you want to evacuate page pool state from struct page so I'd expect you to add a type which can always be fed into some form of $type_to_virt(). A type which can always be cast to net_iov, but not vice versa. So why are you putting things inside net_iov, not outside. > + * net_iovs are allocated and used by networking code, and the size of > + * the chunk is PAGE_SIZE. FWIW not for long. Patches to make the size of net_iov configurable are in progress.