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 C3A45C2BBCA for ; Mon, 24 Jun 2024 00:12:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6D436B018D; Sun, 23 Jun 2024 20:12:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BF5F86B018F; Sun, 23 Jun 2024 20:12:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A49056B0192; Sun, 23 Jun 2024 20:12:49 -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 7D2E26B018D for ; Sun, 23 Jun 2024 20:12:49 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E8B8D1408EF for ; Mon, 24 Jun 2024 00:12:48 +0000 (UTC) X-FDA: 82263856416.19.C92F4FD Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by imf22.hostedemail.com (Postfix) with ESMTP id EFFA4C0003 for ; Mon, 24 Jun 2024 00:12:46 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="a0Jx9/6O"; spf=pass (imf22.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719187949; 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=VvaQpB4RyD6IuxTPoGyM/+nSxIU6CnaaMjIhdH54n8k=; b=Nf3i+1KoLvdMGwWFeXt1XcrVjQJBF9agANgatQKD5j1ohvBhDSFUQ8OyKFp9aHQQ8MyNKb o1vP0zaZnGE4VUytqdb9ELTZa/1gZxWj2hKoOH/EI8or3NuJkUgkHa3IjBM95XVKr2qE9D zC/N/rp0E63Wf7JUxEp9a5CLpKbwI8E= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="a0Jx9/6O"; spf=pass (imf22.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719187949; a=rsa-sha256; cv=none; b=MRaHN6obgqrhN8T7g3CSpjw8TzF70u1z7kq5TpjXTEWzYMA1jA9SVAaiWkSiWEB70wrtoR mWHGqbTBGf+VGb9IMvAo6T+AGGooEh562Tpn4PLqBUquxKDKxJdIauvGEMHDcxwTjcq53L zvpBn9h0GZccIwHZ6h3JLpTmRdxlxnc= Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a724598cfe3so111440766b.1 for ; Sun, 23 Jun 2024 17:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719187965; x=1719792765; 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=VvaQpB4RyD6IuxTPoGyM/+nSxIU6CnaaMjIhdH54n8k=; b=a0Jx9/6OSr9rpXYMDrktlazPleMjgRXkPDYu1DbnYKW1OFi0W1rbn00JCgaczbI5hs qvTA1sCZwzj/zt0S+6Kf9TE79EZVhqONwatV1tr0uTq23ADkKCpHcXofR6HwYR9V5W9f 1FcgLYEOe9Cj3ZmHPk0qcb+AbQjAz+gZbyhf2D65LBSlzlIFRZwqfhVkhalIILh5Vuph 86Rmz8RfBb7NHxl/KFynCAZh/OJunfo0VhIRIS+ts6tBmiUatK8zg/jaFxanl0rVEG5Z b7UnfdSMJMp8X8PB974m3FF5efOhsw8TNr86210dzOTErFaR5k0X4f5PDb62cVbtDCgE zhsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719187965; x=1719792765; 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=VvaQpB4RyD6IuxTPoGyM/+nSxIU6CnaaMjIhdH54n8k=; b=jgWag7gZxqrKwuMOh/rUvjJGjHIxfeMKWRpqfMKaXQb2kCmwoYvpwcjxgTyhQuTxPs +2IDSkawSPfNSbqSGAiibTe4/bcelB6M12uM24Zr1xn7o/DXzppaVyB0kaGzlcfAKlpC rON27IVeP98HTJ7KYTqvtL1sobNTjoTzC3NcCWNpRmBql4tcJe0P5Byh+Ub0byJCLLtJ vtOrpIFiXtyBcyB9LsGqUF7mf03/W0R5V7m7H01PoyBvv/NfuyX9dMBEHdPBee8xPy7Z ugfaLpVaGfFRjDqn6DLrVw8r+n0pjlRFupvzJG8DGiETrxvg+ZZYU13KUu4Dk+X5E+IX YNjw== X-Forwarded-Encrypted: i=1; AJvYcCWOOIqC7sfYE9aKJzGlP7s59bYuWLTYCSElGYa63rvRq52Pc4pV2Xtydj4E2hQ6OWgERa6zjxQ+POx+NvFxGEcGkOs= X-Gm-Message-State: AOJu0YzV3/X+ra+abjlCXvCfRyK9673wWAUqKuEecqhJQrundhJzsmn9 30l8eCZ1Ulg2UyWXYPZbyNiYKlY+b/jDR4ephMAehaiNRxEgDALE X-Google-Smtp-Source: AGHT+IGgM4Pak9lc8GEauUfyhm0F0Xk1SzKJKpjX/HE+7j2CHx6ksKDfL8SEj9rmyvNGMfWyx9JATg== X-Received: by 2002:a17:906:2657:b0:a6f:2e80:6e04 with SMTP id a640c23a62f3a-a7245ba3902mr238843866b.19.1719187964975; Sun, 23 Jun 2024 17:12:44 -0700 (PDT) Received: from [192.168.8.113] ([148.252.133.212]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a72479f360bsm142254266b.173.2024.06.23.17.12.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 23 Jun 2024 17:12:44 -0700 (PDT) Message-ID: Date: Mon, 24 Jun 2024 01:12:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v12 06/13] page_pool: devmem support To: Mina Almasry Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-arch@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Donald Hunter , Jonathan Corbet , Richard Henderson , Ivan Kokshaysky , Matt Turner , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Andreas Larsson , Sergey Shtylyov , Jesper Dangaard Brouer , Ilias Apalodimas , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Arnd Bergmann , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Steffen Klassert , Herbert Xu , David Ahern , Willem de Bruijn , Shuah Khan , Sumit Semwal , =?UTF-8?Q?Christian_K=C3=B6nig?= , Bagas Sanjaya , Christoph Hellwig , Nikolay Aleksandrov , David Wei , Jason Gunthorpe , Yunsheng Lin , Shailend Chand , Harshitha Ramamurthy , Shakeel Butt , Jeroen de Borst , Praveen Kaligineedi , linux-mm@kvack.org, Matthew Wilcox References: <20240613013557.1169171-1-almasrymina@google.com> <20240613013557.1169171-7-almasrymina@google.com> <439590d4-0f05-4f5e-80ec-e7fdf214e307@gmail.com> Content-Language: en-US From: Pavel Begunkov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: EFFA4C0003 X-Stat-Signature: srgmo7xch3o1zd9cz63p4xieoqhnqsj7 X-Rspam-User: X-HE-Tag: 1719187966-518012 X-HE-Meta: U2FsdGVkX1+Z+wPalhwcPldlw4EV5gn9TlIhfFzFA2Wh3BRnt2TMviVLvhoOz6yeB3iZosn+ynQcqaDvcPJ66NcOEHUx4ntYbThAEhkBDsUORQEWpY6Sg0SR2YT/dRQjownl/tkWZt1mmi97XXpsJ+Ur15aSqFpdtPTq8FhVUWW8A7L5IE0jVpG0SbZ+0GDvGO4JlC/9PCm8s8MUJrmp2lOlQ+t87+07NAlOC84fOVr9ytsvsgxCf/h629imeSTohLPggLVCL9I0hCPQpHWdIxZ/cyxuhXo0fiQXJyMrPuBbxwcuNGBf6XozZa7k+iNeHZ7NQirhejVZmvWCl69aCTFr1jy5zdrBna8SH03e/8ogmT8UwYbIrkoNY5pgvNKyNeRabQAKDMJa1MlJIC/qB/87AcZY/x8jz8pla7V9G7gZGS/gxO1mF2ZjifjwggOFMsMlv58lj5W7V8j1U3OKCsdbqZX6ziFYKxvMv4um99G6sOlHDU+SPJB7e5l4g/Nh96qd60KXZAaiLZmAPuU4k6Dq6H1FvkNJw9AG5E4/GMrjfJS1SK6UEFd9Dq6Hb4mjKO6dlkIxqPUMw1bA78Y0VX7RCJVEir3spYF9EqoY+L067PY1ikNctWsgBvGMrVYuJeQJmYfOaj5qx1yISL5xoMfD1M2tW/PuBg8sbmrswz8a5ZGG2qTYVTtm9UmnM4KTEqrdzLY39Ly6eJS1dL3/t4bfUIZqZxkjO6Rb5/49RGfs5+IU8Sr5vSMK0gFh4q6r84Bp1BZCZI2o5mFhHO3UVKRMrnRU5y4Sz405mjg47ZD621g6mIcLlxh3FeRFpRlhQ76rnBTUUmvFNYZmLe07czqQuEaWrk4MTiK+YmXfRvhRtcfvd5s76jXGkgaw4+7xDMNaGGLJXW3Iua+SB2ha4RwZLZ6FAQ6j11eRY0ve3gmFUm3ZoxXrIfpllWHQGwGATwYI6tnH2B9fkGOBonk ifQM9P9L EPxDxRuLJjNwFJxNLAeSKVmpGfOlQKDNydFh8dENwOtC561zZCvM8NmdaXbtOoCqBN5s/RN7y1By3GtkxRHyam5fOZ8SKNOH53WzFYAVCCIBxSHs0RjH36koHkWmyFxZ/l+qQNapWdBprJN32fHL1r/fzyI7KIqOPB1pe8S+PeM3BtUUnJ03RRUgTi5h2aBcJ/jBEekgs/ppZ6C/wDfZgOYxeb7fA3AEscqkD0ohDsom0Z7FzJizS5AsIR9DNIYk6jsQUlbwOuslcE43BHV4ptbT8RLWfwhm8vfBjassv+0vAISBW+Oypi4KIeU2xHxffiLjquEMW+BRApIUlP13hlLAEzzBq/RNE9qTU6ccDZ4w6C1Y31YqaexvtP4Omwtj+kAzG0fUJDRHvUb2c9VI2EvrJV0X1VNwvQn7UqFc0cnc1hK+TiD9xs9xo03Y3nQRgzbHQ9ea1u5d/oaDPS1K4vB7LZzdDLBBIqt2aHEdGrfzC3garAb6QRaBk+2juK83Ccr5uwSr9z3AUdNTh9LMl6TFKVkUXnBT30k9SxidiILxDqSudhqVtIKM5MQRSQFY2yzi7vAMBPpVfZQIJpFN/koAvEA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000066, 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 6/21/24 19:48, Mina Almasry wrote: > On Mon, Jun 17, 2024 at 7:17 AM Pavel Begunkov wrote: ... >>> static inline unsigned long netmem_to_pfn(netmem_ref netmem) >>> { >>> + if (netmem_is_net_iov(netmem)) >>> + return 0; >> >> IIRC 0 is a valid pfn. Not much of a concern since it's >> used only for tracing, but might make sense to pass some >> invalid pfn if there is one >> > > AFAIU all non-negative pfns are technically valid pfns if the machine > is big enough. > > I could have this function return long long instead of unsigned long > so I can return a negative number for errors, and then cast to > unsigned long when I figure out it's actually a pfn. Seemed like such > a hassle especially since the call site is just tracing that I figured > it's not that worth it. Yeah, sounds like an overkill for tracing > >>> + >>> return page_to_pfn(netmem_to_page(netmem)); >>> } >>> >> ... >>> static inline netmem_ref netmem_compound_head(netmem_ref netmem) >>> { >>> + /* niov are never compounded */ >>> + if (netmem_is_net_iov(netmem)) >>> + return netmem; >>> + >>> return page_to_netmem(compound_head(netmem_to_page(netmem))); >>> } >>> >>> +static inline void *netmem_address(netmem_ref netmem) >> >> I don't think it's used anywhere, do I miss it? >> > > Ah, It's used by the GVE devmem implementation: > https://github.com/mina/linux/commit/da89baa81873d457cbf7b49ee6b4f0d66855b205 > > I could leave it out of this patch, then add it with the follow up GVE > devmem implementation, but I figured almost for sure drivers are going > to need this eventually, and it's small, so just put it here. Either way is fine by me, checking the function is not leftovers -- Pavel Begunkov