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 29748C54F30 for ; Wed, 28 May 2025 03:33:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 930336B008A; Tue, 27 May 2025 23:33:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 907B56B008C; Tue, 27 May 2025 23:33:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 81E476B0092; Tue, 27 May 2025 23:33:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 624566B008A for ; Tue, 27 May 2025 23:33:12 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D087A5ADC4 for ; Wed, 28 May 2025 03:33:11 +0000 (UTC) X-FDA: 83490895782.20.05182F5 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf14.hostedemail.com (Postfix) with ESMTP id E7D76100003 for ; Wed, 28 May 2025 03:33:09 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="RTbzQ3q/"; spf=pass (imf14.hostedemail.com: domain of almasrymina@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748403190; 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=1NvDGJ09/tu5lx6cy96XQEBcqTxbssUzneuCXvKiQ7w=; b=2miWMvqu8CIXeMv86v1mbu8jblmAXXQzU425eIrtEyN67gDM1s3xj+Vip7mzjo5IqZXt+a Qwy0rLgvGbuxiuolmrlPhoiVz8NOuTZvVzghX2aWICMN+H9P1mb2LWmt+udzaM0LQNrTTk jhG8GWIAZsIKqlfRutPX95qizZ5u3sE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="RTbzQ3q/"; spf=pass (imf14.hostedemail.com: domain of almasrymina@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748403190; a=rsa-sha256; cv=none; b=YuNOFJG+gjAD4vLJhxNrlO/L9KKnbOJzpFfEDSuE7wvdyMCWcl+Zz2hMl1Ldw+vpr3LqfM CEY59NcVi8o+9BHrJ5ifRL5iERFHpU7GxvDvkAFPmp0FgYFd5acJiKfafzt3F/cyXde8UW VrqsMHMSkW49og/DcQaJ+GUE37HEZtc= Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-231ba6da557so83025ad.1 for ; Tue, 27 May 2025 20:33:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1748403189; x=1749007989; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=1NvDGJ09/tu5lx6cy96XQEBcqTxbssUzneuCXvKiQ7w=; b=RTbzQ3q/eFStZz/fL12jpUfkhjnuHl+nK2qAX98IT9GqeEIatTwU4R+5XjvU1fivuI PrHXZ0BSTR/m2OW9hHfFXWUxyo5blLd09Cp+otNEAuK2L14xmG+4lRVI8gfrMpKwSGIj D7EGgIRgR8NzWQHbq1t8r7A5lDO+ioVmzR6NBZfdvRZS8Yu8584Ri8WD0HnvmRaTECqq vCIuqOKixEq8Jfg7ogZQmzcYrBJ6bcWnCNRZxxn/8GzeIRbZdAcO7I1NGQr7jfbL/Euh XVq/2JFjAPzJJVIc7LqdZl9mbM6N0w/7TZmjdGhqDR6SJiVQnlZvGGVPwkNcxUu3P2fC eR0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748403189; x=1749007989; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1NvDGJ09/tu5lx6cy96XQEBcqTxbssUzneuCXvKiQ7w=; b=uJdhEznTJDWLquFV/fnBK2d+mkvPtIa411VtG+iS1+RD0wsM7b50hxli+JlzTnn5dB pJCU6FurIk9n7Pwcey26tf5REb9KRtDcZktzHqMI7LvgaywGzi6CFr18dSad/1Ga7I73 hbu22LFHfnhm9wHOrCujFomodZ/IiydbTIhAM67KsP9SlcNHf4Yl9/ifaArgOHNbH/iU txIyshmak0Nc/6B6cj2a/WuulkT11g3/sXfJ/u/8uenhtc5pQkJHv7+k+WFYXBIaJMGJ N4OpaX6wSUoy9HZgYBM57vRnsFasv3f1d5/bhVvNCcD7N2BknukGwFdXQPJ0K1urJAa1 qVqw== X-Forwarded-Encrypted: i=1; AJvYcCUUB4e7/qNgKWuIZT61TmETA9mC01dVSaGnyZWaVWbKK//dNAlcyO5TymeMyJkpcHEev7XOFUX7vw==@kvack.org X-Gm-Message-State: AOJu0YxnW1cMWGJ1sS+kSA4ZNCoVjk0hUmdQhr4NhSZ3p1mT/CMK/nBb uxKh11rQuhkqFm7dA+oxoTL96uVKGIIpg02+mcYvKGW51iimQCtiinEnAvjKw2yxWwx5gKwATXx 6pUSIaCbSxfmGHmAX+VUdNFOTS9ioQN4R/esPgIIx X-Gm-Gg: ASbGnctXkbznC5uW8hnJtrXFDakyM+1Wwwq+6nNuW34NetsL9oD0GK3h0kzRnirwrrm 9F47f8eD6BkC/6EzUfybLIf6Wk81Q1nAyDRFw9Yjtt2XXgyumntwOCvtoEZ4eR6y69Z0zP+qJrc 9LXkMERJ27d6YryjL0Jtwb5Fd3TkE9qr9SKVSh794T7jAH X-Google-Smtp-Source: AGHT+IGOF0NG3MQmraD43lvm7RYkw+L1ZNMtg/526GYJO8l+kiYo1BH3IU9UVbT9cidKiq8Ig68hPh33Ie4D7QG4Asc= X-Received: by 2002:a17:903:24d:b0:234:bca7:2934 with SMTP id d9443c01a7336-234c5222e3cmr1866435ad.6.1748403188460; Tue, 27 May 2025 20:33:08 -0700 (PDT) MIME-Version: 1.0 References: <20250528022911.73453-1-byungchul@sk.com> <20250528022911.73453-17-byungchul@sk.com> In-Reply-To: <20250528022911.73453-17-byungchul@sk.com> From: Mina Almasry Date: Tue, 27 May 2025 20:32:55 -0700 X-Gm-Features: AX0GCFuJLqKeYzCNk8mzICLO0VU5BcZ2poUiBYEj8luKwtcPAu1yEtAEKuGm8qQ Message-ID: Subject: Re: [PATCH v2 16/16] mt76: use netmem descriptor and APIs for page pool To: Byungchul Park 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, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E7D76100003 X-Stat-Signature: xz65cfa9koheqyz5iza9utfph6zeewrc X-Rspam-User: X-HE-Tag: 1748403189-544931 X-HE-Meta: U2FsdGVkX19y53Tg1I+/9WMWhmwAXQFMrJMPdpGq/FBbb0Aa2B59K0cWEzRZbfxV4ZSyrkYM4sX6pNcB2QWM7H0q3X52c14H4vJOX04keukVxOHZdUUMZP94y/W+IMIjxV6WlBYjpDWpWe53uJluyaqgbJkex9hQLMIufXjdLBkWsyiKDoj4KLda0WuyC9qEDH46JOEAQyZU+q3XJ3uYWCsmn5x60kOddWwtwf7LMUoQNLg9ufsy0CoE0Wll9Uf/faQ8Ex6UkPpDeoBp3JOqdaLwNRt8ULPH05VVutGX06Ba4Ski9nlh+xUC1xm6uTvyEHOKrx9e9JYGlz82GUaqjAtAYiB+D8wX2kgYnV/dN/S4SnVsdDNanjBvxvp/bjl68KExNhPRJWB2EjkdbbsPA8MRa7JUpAl2Vh3Y8GTKVkgyMN7FK/GgnQTv62YaBsR8Kl7KcCne9v/xI6NmANYbaZ+8sCaumIeP2hQcFxsbcoYUGGsh9WpSW3Knt8Ve+PicvwuoI69Zh5M1NLECpymmOOdZkq9Nc7qH0L2CCSopn64zmxY782yc8XYB6nWm0SXe1Blf3gzKPj2pIocI1yCCKNPVvv0Mmf3xMsRoxCzip3wE6FtgYYOBdspWAyoLvzzBY0nJJmIFO/nR0EQX6Gxc9JFM5W7Dw5wTWeQtBnJ7qJhix8W9wO4hPggS34sR+VFjQB9eK2QHRda5cTSfa5ElMAxvPI4KkXPoFwhdsjn8J/EVIE2T8jOlIX8VAnr7JNEa9ozAcfndBljR+sq9WzjyloDTWfKhJvE1b0KwopovLKK043L9pH1ZQDVdiod2AQcr6kCekMPja7isXlfytFMVQ4zlhY9pz0vqB/UuUsxOWmrapf94Cc7llnhsdaJhRcs0Q89H4XuzS4rOawJZPvyut2cZYymautIFmSeFt73w/ZgVQYh41rbQPtoRukoliZWsOWh1VXucQ5WUvPe3z0+ igctA6oQ e5HV+vB191PsNpyFNqFRLY28n9ED9uLTOiqKcmt/0XqQD2960Bw06dsCmqUF+2oB7CE9aKjmwfCb2bX1NzoM31cJUsc7qBobNpjVGKpVAZHqHrxuRYrEDMFhxCGy6EomCCYLAv+EXIXl9lbsYJha7fB0e6CJcAiXNpuuATDQoXfXh5I9IQIVAdYud4jbelsT7RpH6ai+Mh+eOht6kcEJaovq3nQoG4YnktrbnXGGLUkLiyE7Gq8iV+1nObxOOH2ttYuHA+TtVfgglRQt0gqVad2D6iwBAFmunhe6MBU6xxtjTJqvvBwqBWqnkFyncUjQPGyxAGdFU+xRWMNhP9w6wLKGJAQ6sKirOP6HR 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 Tue, May 27, 2025 at 7:29=E2=80=AFPM Byungchul Park w= rote: > > To simplify struct page, the effort to separate its own descriptor from > struct page is required and the work for page pool is on going. > > Use netmem descriptor and APIs for page pool in mt76 code. > > Signed-off-by: Byungchul Park This patch looks fine to me... but this is converting 1 driver to netmem. There are hundreds of other drivers in the tree. Are we converting all of them to netmem...? The motivating reason for existing drivers to use netmem is because it's an abstract memory type that lets the driver support dma-buf memory and io_uring memory: https://www.kernel.org/doc/Documentation/networking/netmem.rst This driver does not use the page_pool, doesn't support dma-buf memory, or io_uring memory. Moving it to netmem I think will add overhead due to the netmem_is_net_iov checks while providing no tangible benefit AFAICT. Is your long term plan to convert all drivers to netmem? That maybe thousands of lines of code that need to be touched :( > --- > drivers/net/wireless/mediatek/mt76/dma.c | 6 ++--- > drivers/net/wireless/mediatek/mt76/mt76.h | 12 +++++----- > .../net/wireless/mediatek/mt76/sdio_txrx.c | 24 +++++++++---------- > drivers/net/wireless/mediatek/mt76/usb.c | 10 ++++---- > 4 files changed, 26 insertions(+), 26 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/dma.c b/drivers/net/wirel= ess/mediatek/mt76/dma.c > index 35b4ec91979e..cceff435ec4a 100644 > --- a/drivers/net/wireless/mediatek/mt76/dma.c > +++ b/drivers/net/wireless/mediatek/mt76/dma.c > @@ -820,10 +820,10 @@ mt76_add_fragment(struct mt76_dev *dev, struct mt76= _queue *q, void *data, > int nr_frags =3D shinfo->nr_frags; > > if (nr_frags < ARRAY_SIZE(shinfo->frags)) { > - struct page *page =3D virt_to_head_page(data); > - int offset =3D data - page_address(page) + q->buf_offset; > + netmem_ref netmem =3D netmem_compound_head(virt_to_netmem= (data)); It may be worth adding virt_to_head_netmem helper instead of doing these 2 calls together everywhere. --=20 Thanks, Mina