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 41126C28B28 for ; Wed, 12 Mar 2025 10:56:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 86113280003; Wed, 12 Mar 2025 06:56:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 81062280001; Wed, 12 Mar 2025 06:56:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B2BF280003; Wed, 12 Mar 2025 06:56:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4CB53280001 for ; Wed, 12 Mar 2025 06:56:31 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 32AC8559A6 for ; Wed, 12 Mar 2025 10:56:32 +0000 (UTC) X-FDA: 83212595424.02.CA205FC Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf01.hostedemail.com (Postfix) with ESMTP id A6D5940005 for ; Wed, 12 Mar 2025 10:56:29 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=HKSQeX5W; spf=pass (imf01.hostedemail.com: domain of toke@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=toke@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741776989; 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=AAd/cXwxyMqiVkUiEpD8dE0WurSRe0l5Rsk+mCjPI0Q=; b=XHtBzgs2bWFjC+cvzk5ioOX0UXf9fr3wVv9qdkSZtgkIrfu48o1aYISt7MmVs/InPZFMGg Yt5drcsuVK/ajXim7Eno4VwUzed4wHQwHOKaceSaQR9hdJ4sh2l4rzuZu099p95rOdgvK8 O2fWfnX6uKmIuJegupHAvqTW6/UVa1o= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=HKSQeX5W; spf=pass (imf01.hostedemail.com: domain of toke@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=toke@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741776989; a=rsa-sha256; cv=none; b=7uVNGQ+eMLt9xOm9ELCAcEmjEpDhtcRhiaFZK8ckn3lahopHQB4UECvyjNoqZh0/hLSzp1 r2CDeEeUSt0wCLL6RQBZqYGmfG6Dro1Ac8SPait3TYUmGRJ5lrCwU0rditDRzOvivmEmPG 2LDpAHwIZ/ZUf6h7FGhL3U23bl1QL8Q= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1741776989; h=from:from: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; bh=AAd/cXwxyMqiVkUiEpD8dE0WurSRe0l5Rsk+mCjPI0Q=; b=HKSQeX5W6sPXx8eSV4h/HtWeGAI7uJYCtyYHYfdWwWLCaXU+Kufhf83u1GtrGxuZiTO7ld gGOf4KHeCbHKJCzQQpDascFglZnc3fSLzUQ/gH1H+wOXcgnsI8IgVK9T8dPJ7ZDdZEAmRP vzvbJuc+oiksKFmhnVlZOvAZM1I4CvI= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-58-dbC8fR-UMY6Wis7Q7wHXrw-1; Wed, 12 Mar 2025 06:56:27 -0400 X-MC-Unique: dbC8fR-UMY6Wis7Q7wHXrw-1 X-Mimecast-MFC-AGG-ID: dbC8fR-UMY6Wis7Q7wHXrw_1741776986 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-ac2a113c5d8so245629766b.1 for ; Wed, 12 Mar 2025 03:56:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741776986; x=1742381786; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AAd/cXwxyMqiVkUiEpD8dE0WurSRe0l5Rsk+mCjPI0Q=; b=S/JJWIQ8h6fBTToCeNoeuhXwxCFHZDiRdjie5Rp8WkPUr3V0necMjs/FHkd/ObNvbG uq6xZnTzNQHhounvJ5KJlycoreUOhck+Qzd0WlnLiGbQTVXi1MgDvIjdPmHdCmwC8LE4 GX1NKPhowmiAySORuJg1YyNCMRMjfROLDIUOHN0v4Xbfw0NL6LgaBm+ZfYwm6WHOAtBm kvicqdNxAqUT/0e+eyHBBa0Zb4rI51CeMIgRNJJh78zUm87VwAnaBC2Vi/6snjrTYdPd H4Qre3H5S32K8Uem+bMjzYgH/f07ZeaKYrmozYO4KOvQVwmK0GR/8Dg+z2f0DHQJuTJ+ ZqSA== X-Forwarded-Encrypted: i=1; AJvYcCXatfejwjBJIrlcxirXmLo4phmPEbcmC9ciG2aPdAayyBaM8OsJ+b7nl113mdNuaz94gGhog2CRYQ==@kvack.org X-Gm-Message-State: AOJu0Yzx5CiwxZZxA0OBJof0oZimJ0G8Zp8czLoZ34TTJvNKhDIbI2qk NfBudDcZzsFGksfckYVd/Uhv5B9gizfAOih2UD3gLsbdys6IaEFltotO8JN32cjvmlljZ0IQcxH WVSYp1KxKIBUnjKk/qPbEP35+U1fvUxMa/6QruSuTHoIKAptDunliT0ZJ X-Gm-Gg: ASbGncuCtfnUwnlhUaAmLJeloeQ4lijqLmKleZRWZpgdexN4k7xnrdghrM73/KtZexx Q/4S6wSF3VwCidz8wqAEcJ1Bh8g2jRbZt8axUCzNGB3AHYFGb9vV9Tk90xzntlxmGR1UGuTD5gW rggpU0h/WJB80JTIM0n2N0cXkD/8KR6ydnoMtrOWS+MACZVy207BOeuN3BU+chwNbhy0h1elzit 1s3CWL62+rCD0U00+ZIY91Gy1SKSAN9D0xtCErwe0GnKkMf6Zz1p3eBlG6pJU9X/xrZ5QLnSUzy 0Kh5f+oXd5SicsUfCiCZwdhgoT9/uZYQQQQDC3OC X-Received: by 2002:a17:907:1ca3:b0:ac1:e332:b1fa with SMTP id a640c23a62f3a-ac2521168e0mr480183466b.0.1741776986038; Wed, 12 Mar 2025 03:56:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFkURnWqYhQF9JaoiY4FtLIYu0hPXaMvQ0+ocRFrJgSMDvulCIhtwKVjhVg56mUDCeYDD0RgQ== X-Received: by 2002:a17:907:1ca3:b0:ac1:e332:b1fa with SMTP id a640c23a62f3a-ac2521168e0mr480179766b.0.1741776985657; Wed, 12 Mar 2025 03:56:25 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk ([45.145.92.2]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac288ffe157sm613942666b.132.2025.03.12.03.56.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Mar 2025 03:56:25 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 3BF7D18FA670; Wed, 12 Mar 2025 11:56:22 +0100 (CET) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= To: Matthew Wilcox Cc: Pavel Begunkov , Mina Almasry , David Wei , Andrew Morton , Jesper Dangaard Brouer , Ilias Apalodimas , "David S. Miller" , Yunsheng Lin , Yonglong Liu , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-mm@kvack.org, netdev@vger.kernel.org Subject: Re: [RFC PATCH net-next] page_pool: Track DMA-mapped pages and unmap them when destroying the pool In-Reply-To: References: <20250308145500.14046-1-toke@redhat.com> <87cyeqml3d.fsf@toke.dk> <87tt7ziswg.fsf@toke.dk> X-Clacks-Overhead: GNU Terry Pratchett Date: Wed, 12 Mar 2025 11:56:22 +0100 Message-ID: <877c4uikkp.fsf@toke.dk> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: c6yC-Uc5_H0-BKVoBCVFk-sDW4Qh9cbk6q0-3K6BUVI_1741776986 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Stat-Signature: atmgmrr7mohhhy8hcq9spjj1114er79z X-Rspamd-Queue-Id: A6D5940005 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1741776989-394211 X-HE-Meta: U2FsdGVkX1+tgBVlecD1p+6VbAAe8R6YNcTVdLZYhnV7LHTNz+FATsLkHilAcM8eB2+JzAMMPkd0W9pG5YB2FzAEHGpEj2sissSgQyajyFZDM8A9joPEUXuznlOxKH+3g7Rf86bND319K880k/xCU+NYw+17fKPYoKv4LtFkgtMO7XpIj7mzKzAM5dxo+zoOe4Gf67DzccQs0AyOdXmkg0eV5IIOyh3v62nFp5Aa4MBAkX9uC4SF7wHF7P+BpciVrQP+0EwK1mDMn1qAJ6BfSeMUc55zHXKpdptWBAsSQrg1wxLN0/MhE0HP5QldzFvfUF+O/kegrrx8FtVWIFzx9bSbys5fSslGKYChyJF4SxaHs7D9gomrY7H/H2eo2bGPnnTAM4guoOC0LDmaklF3fJZt9YngoDDttKakuYSmsvXT/fKvB5srswoyRTmzz8jzpmr1i4CJwZrsakdX33Ymp2mo36OgR+Ar9PMUR6uu+CPcbI53R6LjbAxXi9ARG/pdRycvqCjW9aitwP7yaryXaHZHX0wsBKQq/MVxoQe9qCQ+4IaARlAf8flPQqdwBcsxTo+EZLg8mqzkEX/TAnfa5ApqjCx9Z54Lj/wzVjPlZ/ZId6e0fAxhSrlzkWdzjbUmij4I6P8tSoMS3bi/IHfJn1fFWpTlcYbd8IUPcJGPoJGMh81gHBPhxS6ZYFTECQ7/iDzy7p+79FxyUtLd9urGL2hmL4yVox3TJxaJOdI7YFbVbMHNesqDNvW9+tY47SlQvH7ohu3Dz9TjNgFpenZMqDgQOXUdbF1fcjKAK9uVAvaj5LGeuB8wxOp4LqPjlpP9+XsTFglC3uX2JbOz0Jo9DARAXwBcCzEbg/NTlmghMTIm1UiFk8+VHgfdk747sr6Q+oulzvZ94CJRuCmK91R1Qze67UilXU0yHddFpC//2mESclu4Jfo15X/TxycLVOAmu9Aw/EoTBzoZoDvF5V5 ly9VS+74 LriWhhZ8F4A3lZ9NvGQ0PDktuaocdV0JrS4Sb3DqWDkVBykIpcLXhbUEX0LZptX7BMMYiWq5SdTYSKfltsNULMpaqlZOaTrGwIhOj6sWey6XHx6ytqhKLZPUNpxZbG0jyd8olprtCEcxy3/Hm4vqSE0d71fofjtivj9Afb6NgoRlWnRO9A/irPf/CBBQijTeJN42fRFVIWzJoLCxCBZdQCAJesmbtm6YK++m2S+UYCU0pBokzMRlxchcwb2JP/qYcmrUvcIqYRJOu7Jacw+BJG2tqcIGp/CL9CKi4YjeT1i+fH//z6cEXYCc+lm7YqaZhi7v9gcEv36OqX2l8bcJ0t8uKjOR36oQqhwchonJRFYM5k+YdLygTFOQuh7AVclLaTqi8FZm53ecflg+SaUO6WfAEvVCxWPqA1ghIyIA2lDZzqNFWEqjCiyxZDO+qF9EriyYkuaL5bLlQBsxbOZ+ZMtOP4hUQO007KiaPWxpJNjlA4dQ9mzj2zh1TK+aMNNHTIWnc/+QpE2TTJ7qQhKoRBxCUvjTRDoJo7zCdGtiNvqp4Z76F1ida7PvPBQ== 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: Matthew Wilcox writes: > On Tue, Mar 11, 2025 at 02:44:15PM +0100, Toke H=C3=B8iland-J=C3=B8rgense= n wrote: >> Pavel Begunkov writes: >> > If we're out of space in the page, why can't we use struct page * >> > as indices into the xarray? Ala >> > >> > struct page *p =3D ...; >> > xa_store(xarray, index=3D(unsigned long)p, p); >> > >> > Indices wouldn't be nicely packed, but it's still a map. Is there >> > a problem with that I didn't consider? >>=20 >> Huh. As I just replied to Yunsheng, I was under the impression that this >> was not supported. But since you're now the second person to suggest >> this, I looked again, and it looks like I was wrong. There does indeed >> seem to be other places in the kernel that does this. >>=20 >> As you say the indices won't be as densely packed, though. So I'm >> wondering if using the bits in pp_magic would be better in any case to >> get the better packing? I guess we can try benchmarking both approaches >> and see if there's a measurable difference. > > This is an absolutely terrible idea, only proposed by those who have no > understanding of how the XArray works. It could not be more wasteful. Alright, ACK, will stay with the xa_alloc() + stashing the id in pp_magic (unless you come back and tell us there's some reason we can't use those bits). Do you mind if I send a patch to the xarray docs to explicitly spell out that using pointers as keys is a bad idea? It's a bit implicit the way it's phrased now, IMO. -Toke